Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r67265 - in sandbox/chrono/libs/chrono: build 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 example src test test/duration
From: vicente.botet_at_[hidden]
Date: 2010-12-16 01:45:32


Author: viboes
Date: 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
New Revision: 67265
URL: http://svn.boost.org/trac/boost/changeset/67265

Log:
Chrono: After review commit

Binary files modified:
   sandbox/chrono/libs/chrono/doc/chrono.pdf
Text files modified:
   sandbox/chrono/libs/chrono/build/Jamfile.v2 | 16
   sandbox/chrono/libs/chrono/doc/chrono.qbk | 1320 +++++++++++++++++++++------------------
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices.html | 10
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/acknowledgements.html | 7
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/faq.html | 33
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/history.html | 2
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/implementation.html | 213 ++++++
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/rationale.html | 77 --
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/todo.html | 7
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview.html | 10
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/description.html | 49
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/motivation.html | 13
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference.html | 23
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/cpp0x.html | 1132 +++++++++++++++++----------------
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/deprecated.html | 2
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/io.html | 132 ++-
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/other_clocks.html | 61
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide.html | 19
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/examples.html | 666 ++++++++++----------
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/ext_references.html | 4
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/getting_started.html | 85 +-
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/tutorial.html | 702 ++++++++++++--------
   sandbox/chrono/libs/chrono/doc/html/index.html | 17
   sandbox/chrono/libs/chrono/doc/html/standalone_HTML.manifest | 1
   sandbox/chrono/libs/chrono/example/chrono_accuracy_test.cpp | 16
   sandbox/chrono/libs/chrono/example/test_clock.cpp | 10
   sandbox/chrono/libs/chrono/src/chrono.cpp | 34 -
   sandbox/chrono/libs/chrono/src/process_cpu_clocks.cpp | 41 -
   sandbox/chrono/libs/chrono/src/thread_clock.cpp | 34 -
   sandbox/chrono/libs/chrono/test/Jamfile.v2 | 47 -
   sandbox/chrono/libs/chrono/test/duration/arithmetic_pass.cpp | 17
   31 files changed, 2570 insertions(+), 2230 deletions(-)

Modified: sandbox/chrono/libs/chrono/build/Jamfile.v2
==============================================================================
--- sandbox/chrono/libs/chrono/build/Jamfile.v2 (original)
+++ sandbox/chrono/libs/chrono/build/Jamfile.v2 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -38,11 +38,16 @@
         #<define>BOOST_CHRONO_USES_ARRAY_ASSERT
         #<define>BOOST_COMMON_TYPE_DONT_USE_TYPEOF
         <define>BOOST_SYSTEM_NO_DEPRECATED
- <toolset>gcc:<linkflags>--enable-auto-import
+ <toolset>gcc-3.4.4:<linkflags>--enable-auto-import
+ <toolset>gcc-4.3.4:<linkflags>--enable-auto-import
+ <toolset>gcc-mingw-4.4.0:<linkflags>--enable-auto-import
+ <toolset>gcc-mingw-4.5.0:<linkflags>--enable-auto-import
         <warnings>all
         <toolset>gcc:<cxxflags>-Wextra
         <toolset>gcc:<cxxflags>-Wno-long-long
+ <toolset>gcc-mingw-4.4.0:<cxxflags>-fdiagnostics-show-option
         <toolset>gcc-mingw-4.5.0:<cxxflags>-fdiagnostics-show-option
+ <toolset>gcc-mingw-4.6.0:<cxxflags>-fdiagnostics-show-option
 
     : usage-requirements # pass these requirement to dependents (i.e. users)
         #<os>LINUX:<threading>multi
@@ -61,11 +66,16 @@
         <define>BOOST_SYSTEM_NO_DEPRECATED
         <link>shared:<define>BOOST_CHRONO_DYN_LINK=1
         <link>static:<define>BOOST_CHRONO_STATIC_LINK=1
- <toolset>gcc:<linkflags>--enable-auto-import
+ <toolset>gcc-3.4.4:<linkflags>--enable-auto-import
+ <toolset>gcc-4.3.4:<linkflags>--enable-auto-import
+ <toolset>gcc-mingw-4.4.0:<linkflags>--enable-auto-import
+ <toolset>gcc-mingw-4.5.0:<linkflags>--enable-auto-import
     ;
 
-SOURCES = chrono process_clock thread_clock run_timer run_timer_static process_cpu_clocks ;
+SOURCES = chrono thread_clock process_cpu_clocks ;
 
+#process_clock run_timer run_timer_static
+
 lib boost_chrono
     : $(SOURCES).cpp
     #$(BOOST_ROOT)/libs/system/build//boost_system

Modified: sandbox/chrono/libs/chrono/doc/chrono.pdf
==============================================================================
Binary files. No diff available.

Modified: sandbox/chrono/libs/chrono/doc/chrono.qbk
==============================================================================
--- sandbox/chrono/libs/chrono/doc/chrono.qbk (original)
+++ sandbox/chrono/libs/chrono/doc/chrono.qbk 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -9,7 +9,7 @@
 
 [article Boost.Chrono
     [quickbook 1.5]
- [version 0.7.0]
+ [version 0.7.1]
     [authors [Hinnant, Howard]]
     [authors [Dawes, Beman]]
     [authors [Botet Escriba, Vicente J.]]
@@ -26,6 +26,8 @@
 [/==================]
 [def __Boost_Chrono__ [*Boost.Chrono]]
 
+[def __see_bellow__ ['see bellow]]
+
 [/===============================================]
 [def __inherit [*Inherits:]]
 [def __std_ref [*C++ Standard Reference:]]
@@ -44,54 +46,43 @@
 
 
 
+[/===============================================]
 [def __common_type__ `common_type`]
 
 
 [/===============================================]
 [def __ratio__ `ratio`]
 
-
-[template ratio_conf[link_text] [link_text]]
-
-[template ratio_pp[link_text] [link_text]]
-
-[def __BOOST_RATIO_USES_STATIC_ASSERT [ratio_conf `BOOST_RATIO_USES_STATIC_ASSERT`]]
-[def __BOOST_RATIO_USES_MPL_ASSERT [ratio_conf `BOOST_RATIO_USES_MPL_ASSERT`]]
-[def __BOOST_RATIO_USES_ARRAY_ASSERT [ratio_conf `BOOST_RATIO_USES_ARRAY_ASSERT`]]
-
-[template ratio_arithmetic[link_text] [link_text]]
-[def __ratio_add [ratio_arithmetic `ratio_add`]]
-[def __ratio_subtract [ratio_arithmetic `ratio_subtract`]]
-[def __ratio_multiply [ratio_arithmetic `ratio_multiply`]]
-[def __ratio_divide [ratio_arithmetic `ratio_divide`]]
-
-
-[template ratio_comparison[link_text] [link_text]]
-[def __ratio_equal [ratio_comparison `ratio_equal`]]
-[def __ratio_not_equal [ratio_comparison `ratio_not_equal`]]
-[def __ratio_less [ratio_comparison `ratio_less`]]
-[def __ratio_less_equal [ratio_comparison `ratio_less_equal`]]
-[def __ratio_greater [ratio_comparison `ratio_greater`]]
-[def __ratio_greater_equal [ratio_comparison `ratio_greater_equal`]]
-
-
-[template ratio_si_typedefs[link_text] [link_text]]
-[def __atto [ratio_si_typedefs `atto`]]
-[def __femto [ratio_si_typedefs `femto`]]
-[def __pico [ratio_si_typedefs `pico`]]
-[def __nano [ratio_si_typedefs `nano`]]
-[def __micro [ratio_si_typedefs `micro`]]
-[def __milli [ratio_si_typedefs `milli`]]
-[def __centi [ratio_si_typedefs `centi`]]
-[def __deci [ratio_si_typedefs `deci`]]
-[def __deca [ratio_si_typedefs `deca`]]
-[def __hecto [ratio_si_typedefs `hecto`]]
-[def __kilo [ratio_si_typedefs `kilo`]]
-[def __mega [ratio_si_typedefs `mega`]]
-[def __giga [ratio_si_typedefs `giga`]]
-[def __tera [ratio_si_typedefs `tera`]]
-[def __peta [ratio_si_typedefs `peta`]]
-[def __exa [ratio_si_typedefs `exa`]]
+[def __ratio_add `ratio_add`]
+[def __ratio_subtract `ratio_subtract`]
+[def __ratio_multiply `ratio_multiply`]
+[def __ratio_divide `ratio_divide`]
+
+
+[def __ratio_equal `ratio_equal`]
+[def __ratio_not_equal `ratio_not_equal`]
+[def __ratio_less `ratio_less`]
+[def __ratio_less_equal `ratio_less_equal`]
+[def __ratio_greater `ratio_greater`]
+[def __ratio_greater_equal `ratio_greater_equal`]
+
+
+[def __atto `atto`]
+[def __femto `femto`]
+[def __pico `pico`]
+[def __nano `nano`]
+[def __micro `micro`]
+[def __milli `milli`]
+[def __centi `centi`]
+[def __deci `deci`]
+[def __deca `deca`]
+[def __hecto `hecto`]
+[def __kilo `kilo`]
+[def __mega `mega`]
+[def __giga `giga`]
+[def __tera `tera`]
+[def __peta `peta`]
+[def __exa `exa`]
 
 
 [/==================]
@@ -110,46 +101,45 @@
 
 
 [template clock_concept_link[link_text] [link boost_chrono.reference.cpp0x.clock [link_text]]]
-[def __clock_concept__ [clock_concept_link `Clock` concept]]
+[def __clock_concept__ [clock_concept_link `Clock`] concept]
 [def __clock_concept_type__ [clock_concept_link `Clock`]]
-[def __clock_req__ [clock_concept_link `Clock` requirements]]
+[def __clock_req__ [clock_concept_link `Clock`] requirements]
 [def __Clock__ [clock_concept_link `Clock`]]
 [def __Clock_s__ [clock_concept_link `Clock`'s]]
                                       
-[template duration_link[link_text] [link boost_chrono.reference.cpp0x.duration_hpp.duration [link_text]]]
-[def __duration__ [duration_link `duration`]]
-[def __duration_s__ [duration_link `duration`'s]]
+[def __duration__ [link boost_chrono.reference.cpp0x.duration_hpp.duration `duration`]]
+[def __durations__ [link boost_chrono.reference.cpp0x.duration_hpp.duration `duration`]s]
+[def __duration_s__ [link boost_chrono.reference.cpp0x.duration_hpp.duration `duration`]'s]
 
 [/==================]
-[template time_point_link[link_text] [link boost_chrono.reference.cpp0x.time_point_hpp.time_point [link_text]]]
-[def __time_point__ [time_point_link `time_point`]]
-[def __time_point_s__ [time_point_link `time_point`'s]]
+[def __time_point__ [link boost_chrono.reference.cpp0x.time_point_hpp.time_point `time_point`]]
+[def __time_points__ [link boost_chrono.reference.cpp0x.time_point_hpp.time_point `time_point`]s]
+[def __time_point_s__ [link boost_chrono.reference.cpp0x.time_point_hpp.time_point `time_point`]'s]
 
 [/==================]
-[template system_clock_link[link_text] [link boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock [link_text]]]
-[def __system_clock__ [system_clock_link `system_clock`]]
+[def __system_clock__ [link boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock `system_clock`]]
+[def __monotonic_clock__ [link boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock `monotonic_clock`]]
+[def __high_resolution_clock__ [link boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock `high_resolution_clock`]]
 
 [/==================]
-[template monotonic_clock_link[link_text] [link boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock [link_text]]]
-[def __monotonic_clock__ [monotonic_clock_link `monotonic_clock`]]
 
-[/==================]
-[template high_resolution_clock_link[link_text] [link boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock [link_text]]]
-[def __high_resolution_clock__ [high_resolution_clock_link `high_resolution_clock`]]
+[def __process_real_cpu_clock__ [link boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock `process_real_cpu_clock`]]
+[def __process_system_cpu_clock__ [link boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_system_cpu_clock `process_system_cpu_clock`]]
+[def __process_user_cpu_clock__ [link boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_user_cpu_clock `process_user_cpu_clock`]]
+[def __process_cpu_clock__ [link boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_cpu_clock `process_cpu_clock`]]
+[def __thread_clock__ [link boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock `thread_clock`]]
 
+[/==================]
 [def __duration_cast__ [link boost_chrono.reference.cpp0x.duration_hpp.duration_cast `duration_cast`]]
-
 [def __time_point_cast__ [link boost_chrono.reference.cpp0x.time_point_hpp.time_point_cast `time_point_cast`]]
 
 
-[template duration_typedefs[link_text] [link boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs [link_text]]]
-[def __nanoseconds__ [duration_typedefs `nanoseconds`]]
-[def __microseconds__ [duration_typedefs `microseconds`]]
-[def __milliseconds__ [duration_typedefs `milliseconds`]]
-[def __seconds__ [duration_typedefs `seconds`]]
-[def __minutes__ [duration_typedefs `minutes`]]
-[def __hours__ [duration_typedefs `hours`]]
-[def __days__ [duration_typedefs `days`]]
+[def __nanoseconds__ [link boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs `nanoseconds`]]
+[def __microseconds__ [link boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs `microseconds`]]
+[def __milliseconds__ [link boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs `milliseconds`]]
+[def __seconds__ [link boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs `seconds`]]
+[def __minutes__ [link boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs `minutes`]]
+[def __hours__ [link boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs `hours`]]
 
 [def __common_type_spe__ [link boost_chrono.reference.cpp0x.duration_hpp.common_type_spe `common_type`]]
 
@@ -161,26 +151,8 @@
 [def __min__ [link boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values.min `min`]]
 
 
-[/==================]
-[template SuspendibleClock_concept_link[link_text] [link_text]]
-[def __SuspendibleClock_concept__ [SuspendibleClock_concept_link `SuspendibleClock` concept]]
-[def __SuspendibleClock_concept_type__ [SuspendibleClock_concept_link `SuspendibleClock`]]
-[def __SuspendibleClock_req__ [SuspendibleClock_concept_link `SuspendibleClock` requirements]]
-[def __SuspendibleClock__ [SuspendibleClock_concept_link `SuspendibleClock`]]
-
-
-[def __process_real_cpu_clock__ [link boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock `process_real_cpu_clock`]]
-
-[def __process_system_cpu_clock__ [link boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_system_cpu_clock `process_system_cpu_clock`]]
-
-[def __process_user_cpu_clock__ [link boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_user_cpu_clock `process_user_cpu_clock`]]
-
-[def __thread_clock__ [link boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock `thread_clock`]]
-[def __suspendible_clock__ [link boost_chrono.reference.other_clocks.suspendible_clock_hpp.suspendible_clock `suspendible_clock`]]
-
 
-[template thread_clock_link[link_text] [link boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock [link_text]]]
-[def __thread_clock__ [thread_clock_link `thread_clock`]]
+[/==================]
 
 [def __duration_punct__ [link boost_chrono.reference.io.chrono_io_hpp.duration_punct `duration_punct`]]
 
@@ -215,7 +187,7 @@
 
     // Include all of Chrono files
     #include <boost/chrono.hpp>
- using namespace boost::chrono;
+ namespace bchrono=boost::chrono;
 
 [/=================]
 [section Motivation]
@@ -241,7 +213,7 @@
 
 [heading Wall clock versus system and user time]
 
-To make the timing facilities of Boost.Chrono more generally useful, the library provides a number of clocks that are thin wrappers around the operating system's process time API, thereby allowing the extraction of read (wall clock) time, user CPU time, and system CPU time. (On POSIX-like systems, this relies on `times()`. On Windows, it relies on `GetProcessTimes()`.)
+To make the timing facilities of Boost.Chrono more generally useful, the library provides a number of clocks that are thin wrappers around the operating system's process time API, thereby allowing the extraction of wall clock time, user CPU time, and system CPU time of the process. Wall clock time is the sum of CPU time and system CPU time. (On POSIX-like systems, this relies on `times()`. On Windows, it relies on `GetProcessTimes()`.)
 
 [/
 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.
@@ -275,19 +247,19 @@
 
 [heading Standard]
 
-* A means to represent time durations: managed by the generic __duration__ class . Examples of time durations include __days__, __minutes__, __seconds__ and __nanoseconds__, which can be represented with a fixed number of clock ticks per unit. All of these units of time duration are united with a generic interface by the __duration__ facility.
+* A means to represent time durations: managed by the generic __duration__ class . Examples of time durations include days, __minutes__, __seconds__ and __nanoseconds__, which can be represented with a fixed number of clock ticks per unit. All of these units of time duration are united with a generic interface by the __duration__ facility.
 * A type for representing points in time: __time_point__. A __time_point__ represents an epoch plus or minus a __duration__. The library leaves epochs unspecified. A __time_point__ is associated with a /clock/.
 * Several clocks, some of which may not be available on a particular platform: __system_clock__, __monotonic_clock__ and __high_resolution_clock__. A clock is a pairing of a __time_point__ and __duration__, and a function which returns a __time_point__ representing ['now].
 
 [heading Other clocks]
 
-To make the timing facilities more generally useful, __Boost_Chrono__ provides a number of clocks that are thin wrappers around the operating system's time APIs, thereby allowing the extraction of read (wall clock) time, user CPU time, system CPU time,
+To make the timing facilities more generally useful, __Boost_Chrono__ provides a number of clocks that are thin wrappers around the operating system's time APIs, thereby allowing the extraction of wall clock time, user CPU time, system CPU time spent by the process,
 
-* __process_real_cpu_clock__, captures real (wall clock) CPU times.
-* __process_user_cpu_clock__, captures user-CPU times.
-* __process_system_cpu_clock__, captures system-CPU times.
-* A tuple-like class __process_cpu_clock__, that captures real, user-CPU, and system-CPU times together.
-* A __thread_clock__ thread monotonic clock, when supported by a platform.
+* __process_real_cpu_clock__, captures wall clock CPU time spent by the current process.
+* __process_user_cpu_clock__, captures user-CPU time spent by the current process.
+* __process_system_cpu_clock__, captures system-CPU time spent by the current process.
+* A tuple-like class __process_cpu_clock__, that captures real, user-CPU, and system-CPU process times together.
+* A __thread_clock__ thread monotonic clock giving the time spent by the current threrad( when supported by a platform).
 
 
 [/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. process clocks provide 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.
@@ -311,7 +283,7 @@
 
 
 [/==============================]
-[section:users_guide Users'Guide]
+[section:users_guide User's Guide]
 [/==============================]
 
 [/======================================]
@@ -332,7 +304,7 @@
 You can also access the latest (unstable?) state from the [@https://svn.boost.org/svn/boost/sandbox/chrono Boost Sandbox]. Just go to [@http://svn.boost.org/trac/boost/wiki/BoostSubversion here] and follow the instructions there for anonymous SVN access.
 
 [/==========================================]
-[heading Where to install __Boost_Chrono__? ]
+[heading Where to install Boost.Chrono? ]
 [/==========================================]
 
 The simple way is to decompress (or checkout from SVN) the file in your `BOOST_ROOT` directory.
@@ -342,7 +314,7 @@
 Othesewise, if you decompress in a different directory, you will need to comment some lines, and uncomment and change others in the `build/Jamfile` and `test/Jamfile`. Sorry for this, but I have not reached yet to write a `Jamfile` that is able to work in both environements and use the `BOOST_ROOT` variable. Any help is welcome.
 
 [/=================================]
-[heading Building __Boost_Chrono__ ]
+[heading Building Boost.Chrono ]
 [/=================================]
 
 __Boost_Chrono__ can be configured as a header only library. When __BOOST_CHRONO_INLINED is defined the lib is header only library. Otherwise is not a header only library and you need to compile it before use.
@@ -374,7 +346,7 @@
     [[@http://www.boost.org/libs/operators [*Boost.Operators]]] [for operators, ...]
 ]
 [
- [[@http://www.boost.org/libs/ratio [*Boost.Ratio]]] [for ratio, ...]
+ [[@http://www.boost.org/libs/ratio [*Boost.Ratio]]] [for ratio, milli, micro, ...]
 ]
 [
     [[@http://www.boost.org/libs/system [*Boost.System]]] [for error_code, ...]
@@ -389,7 +361,7 @@
 
 
 [/=========================================================]
-[heading Building an executable that uses __Boost_Chrono__ ]
+[heading Building an executable that uses Boost.Chrono ]
 [/=========================================================]
 
 In addition to link with the __Boost_Chrono__ library you need also to link with the [*Boost.System] library.
@@ -397,17 +369,21 @@
 
 
 [/=========================]
-[heading Exceptions safety ]
+[heading Exception safety ]
 [/=========================]
 
 All functions in the library are exception-neutral and provide strong guarantee of exception safety as long as the underlying parameters provide it.
 
+
 [/=====================]
 [heading Thread safety ]
 [/=====================]
 
 All functions in the library are thread-unsafe except when noted explicitly.
 
+As Boost.Chrono doesn't use mutable global variables the thread safety analysis is limited to the access to each instance variable. It is not thread safe to use a function that modifies the access to a user variable if another can be reading or writing it.
+
+
 [/========================]
 [heading Tested compilers ]
 [/========================]
@@ -418,15 +394,15 @@
 Windows with
 
 * MSVC 10.0
-* MSVC 9.0 Express (not lastly)
-* MSVC 8.0 (not lastly)
+[/* MSVC 9.0 Express (not recently)]
+[/* MSVC 8.0 (not recently)]
 
 [/* Intel 11.0]
 
-Scientific Linux with
-
-* GCC 4.1.2 (not lastly)
+[/Scientific Linux with
 
+* GCC 4.1.2 (not recently)
+]
 Cygwin 1.5 with
 
 * GCC 3.4.4
@@ -440,6 +416,7 @@
 * GCC 4.4.0
 * GCC 4.5.0
 * GCC 4.5.0 -std=c++0x
+* GCC 4.6.0 -std=c++0x #undef BOOST_NO_CONSTEXPR
 
 Initial version was tested on:
 
@@ -463,19 +440,19 @@
 
     int main()
     {
- system_clock::time_point start = system_clock::now();
+ bchrono::system_clock::time_point start = bchrono::system_clock::now();
 
         for ( long i = 0; i < 10000000; ++i )
         std::sqrt( 123.456L ); // burn some time
 
- __duration__<double> sec = system_clock::now() - start;
- cout << "tooks " << sec.count() << " seconds\n";
+ bchrono::__duration__<double> sec = bchrono::system_clock::now() - start;
+ cout << "took " << sec.count() << " seconds\n";
         return 0;
     }
 
 Output was:
 
- tooks 0.832 seconds
+ took 0.832 seconds
 
 
 [endsect]
@@ -523,12 +500,12 @@
 
 __example
 
- typedef __duration__<long, __ratio__<60> > minutes;
+ typedef bchrono::__duration__<long, boost::ratio<60> > minutes;
     minutes m1(3); // m1 stores 3
     minutes m2(2); // m2 stores 2
     minutes m3 = m1 + m2; // m3 stores 5
 
- typedef __duration__<long long, micro> microseconds;
+ typedef bchrono::__duration__<long long, boost::micro> microseconds;
     microseconds us1(3); // us1 stores 3
     microseconds us2(2); // us2 stores 2
     microseconds us3 = us1 + us2; // us3 stores 5
@@ -545,101 +522,151 @@
 
 [endsect]
 
-[section What happens if I assign `m3 + us3` to `minutes` instead of `microseconds`?]
+[section What Happens if I Assign `m3 + us3` to `minutes` Instead of `microseconds`?]
 
     minutes m4 = m3 + us3;
 
 It won't compile. The rationale is that implicit truncation error should not be allowed to happen. If this were to compile, then `m4` would hold `5`, the same value as `m3`. The value associated with `us3` has been effectively ignored. This is similar to the problem of assigning a double to an `int`: the fractional part gets silently discarded.
+[endsect]
 
-[heading But what if the truncation behavior is what I want to do?]
+[section But what if the truncation behavior is what I want to do?]
 
 There is a __duration_cast__ facility to explicitly ask for this behavior:
 
- minutes m4 = __duration_cast__<minutes>(m3 + us3); // m4.count() == 5
+ minutes m4 = bchrono::__duration_cast__<minutes>(m3 + us3); // m4.count() == 5
 
 In general, one can perform __duration__ arithmetic at will. If __duration_cast__ isn't used, and it compiles, the arithmetic is exact. Any place one wants to override this exact arithmetic behavior, __duration_cast__ can be used to explicitly specify that desire. The __duration_cast__ has the same efficiency as the implicit conversion, and will even be exact as often as it can.
 
+You can use __duration_cast__`<>` to convert the __duration__ into whatever units you desire. This facility will round down (truncate) if an exact conversion is not possible. For example:
+
+ bchrono::__nanoseconds__ start;
+ bchrono::__nanoseconds__ end;
+ typedef bchrono::__milliseconds__ ms;
+ ms d = bchrono::__duration_cast__<ms>(end - start);
+
+ // d now holds the number of milliseconds from start to end.
+
+ std::cout << ms.count() << "ms\n";
+
+We can convert to __nanoseconds__, or some integral-based duration which __nanoseconds__ will always exactly convert to, then __duration_cast__`<>` is unnecessary:
+
+ typedef bchrono::__nanoseconds__ ns;
+ ns d = end - start;
+ std::cout << ns.count() << "ns\n";
+
+If you need seconds with a floating point representation you can also eliminate the __duration_cast__`<>`:
+
+ typedef bchrono::__duration__<double> sec; // seconds, stored with a double
+ sec d = end - start;
+ std::cout << sec.count() << "s\n";
+
+If you're not sure if you need __duration_cast__`<>` or not, feel free to try it without. If the conversion is exact, or if the destination has a floating point representation, it will compile: else it will not compile.
+
+
+If you need to use __duration_cast__`<>`, but want to round up, instead of down when the conversion is inexact, here is a handy little helper function to do so. Writing it is actually a good starter project for understanding __Boost_Chrono__:
+
+ template <class ToDuration, class Rep, class Period>
+ ToDuration
+ round_up(bchrono::__duration__<Rep, Period> d)
+ {
+ // first round down
+ ToDuration result = bchrono::__duration_cast__<ToDuration>(d);
+ if (result < d) // comparisons are *always* exact
+ ++result; // increment by one tick period
+ return result;
+ }
+
+ typedef bchrono::__milliseconds__ ms;
+ ms d = round_up<ms>(end - start);
+ // d now holds the number of milliseconds from start to end, rounded up.
+ std::cout << ms.count() << "ms\n";
+
 [endsect]
 
-[section Trafficking in floating point durations]
+[section Trafficking in Floating Point Durations]
 
 I don't want to deal with writing `duration_cast` all over the place. I'm content with the precision of my floating point representation
 
 Not a problem. When the destination of a conversion has floating point representation, all conversions are allowed to happen implicitly.
 
- typedef __duration__<double, __ratio__<60> > dminutes;
+ typedef bchrono::__duration__<double, __ratio__<60> > dminutes;
     dminutes dm4 = m3 + us3; // dm4.count() == 5.000000083333333
 
 [endsect]
 
-[section How expensive is all of this?]
+[section How Expensive is All of this?]
 
 If you were writing these conversions by hand, you could not make it more efficient. The use of __ratio__ ensures that all conversion constants are simplified as much as possible at compile time. This usually results in the numerator or denominator of the conversion factor simplifying to `1`, and being subsequently ignored in converting the run time values of the tick counts.
 
 [endsect]
 
-[section How complicated is it to build a function taking a `duration` parameter?]
+[section How Complicated is it to Build a Function Taking a `duration` Parameter?]
 
 There are several options open to the user:
 
 * If the author of the function wants to accept any __duration__, and is willing to work in floating point __duration_s__, he can simply use any floating point __duration__ as the parameter:
 
- void f(duration<double> d) // accept floating point seconds
+ void f(bchrono::duration<double> d) // accept floating point seconds
           {
- // d.count() == 3.e-6 when passed microseconds(3)
+ // d.count() == 3.e-6 when passed bchrono::microseconds(3)
           }
 
- f(microseconds(3));
+ f(bchrono::microseconds(3));
 
 * If the author of the function wants to traffic only in integral __duration_s__, and is content with handling nothing finer than say nanoseconds (just as an example), he can simply specify nanoseconds as the parameter:
 
- void f(nanoseconds d)
+ void f(bchrono::nanoseconds d)
           {
- // d.count() == 3000 when passed microseconds(3)
+ // d.count() == 3000 when passed bchrono::microseconds(3)
           }
 
- f(microseconds(3));
+ f(bchrono::microseconds(3));
 
 In this design, if the client wants to pass in a floating point __duration__, or a __duration__ of finer precision than nanoseconds, then the client is responsible for choosing his own rounding mode in the conversion to nanoseconds.
 
- __duration__<double> s(1./3); // 1/3 of a second
- f(duration_cast<nanoseconds>(s)); // round towards zero in conversion to nanoseconds
+ bchrono::__duration__<double> s(1./3); // 1/3 of a second
+ f(bchrono::duration_cast<bchrono::nanoseconds>(s)); // round towards zero in conversion to nanoseconds
 
 In the example above, the client of f has chosen "round towards zero" as the desired rounding mode to nanoseconds. If the client has a __duration__ that won't exactly convert to nanoseconds, and fails to choose how the conversion will take place, the compiler will refuse the call:
 
- f(s); // does not compile
+ f(s); // does not compile
 
 * If the author of the function wants to accept any __duration__, but wants to work with integral representations and wants to control the rounding mode internally, then he can template the function:
 
- template <class Rep, class Period>
- void f(__duration__<Rep, Period> d)
- {
- // convert d to nanoseconds, rounding up if it is not an exact conversion
- nanoseconds ns = duration_cast<nanoseconds>(d);
- if (ns < d)
- ++ns;
- // ns.count() == 333333334 when passed 1/3 of a floating point second
- }
+ template <class Rep, class Period>
+ void f(bchrono::__duration__<Rep, Period> d)
+ {
+ // convert d to nanoseconds, rounding up if it is not an exact conversion
+ bchrono::nanoseconds ns = bchrono::duration_cast<bchrono::nanoseconds>(d);
+ if (ns < d)
+ ++ns;
+ // ns.count() == 333333334 when passed 1/3 of a floating point second
+ }
 
- f(__duration__<double>(1./3));
+ f(bchrono::__duration__<double>(1./3));
 
 * If the author in the example does not want to accept floating point based __duration_s__, he can enforce that behavior like so:
 
- template <class Period>
- void f(__duration__<long long, Period> d)
- {
- // convert d to nanoseconds, rounding up if it is not an exact conversion
- nanoseconds ns = duration_cast<nanoseconds>(d);
- if (ns < d)
- ++ns;
- // ns.count() == 333333334 when passed 333333333333 picoseconds
- }
-
- f(__duration__<long long, pico>(333333333333)); // About 1/3 of a second worth of picoseconds
+ template <class Period>
+ void f(bchrono::__duration__<long long, Period> d)
+ {
+ // convert d to nanoseconds, rounding up if it is not an exact conversion
+ bchrono::nanoseconds ns = bchrono::duration_cast<nanoseconds>(d);
+ if (ns < d)
+ ++ns;
+ // ns.count() == 333333334 when passed 333333333333 picoseconds
+ }
+ // About 1/3 of a second worth of picoseconds
+ f(bchrono::__duration__<long long, boost::pico>(333333333333));
 
 Clients with floating point __duration_s__ who want to use f will now have to convert to an integral __duration__ themselves before passing the result to f.
 
 In summary, the author of f has quite a bit of flexibility and control in the interface he wants to provide his clients with, and easy options for manipulating that __duration__ internal to his function.
+[endsect]
+
+[section Can durations overflow?]
+
+This depend on the representation. The default typedefs uses a representation that don't handle overflows. The user can define his own representation that manage overflow as required by its application.
 
 [endsect]
 [endsect]
@@ -654,13 +681,20 @@
 # A concrete __time_point__ type.
 # A function called now() which returns the concrete __time_point__.
 
-__Boost_Chrono__ provides the standard concrete clocks:
+The standard defines tree system-wide clocks that are associated to the computer time.
 
-# __system_clock__
-# __monotonic_clock__
-# __high_precision_clock__
+* __system_clock__ represents system-wide realtime clock that can be synchronized with an external clock.
 
-A given platform may not be able to supply all three of these clocks. The user is also able to easily create more clocks.
+* __monotonic_clock__ can not be changed explicitly and the time since the initial epoch increase in a monotonic way.
+
+* __high_resolution_clock__ intend to use the system-wide clock provided by the platform with the higest resolution.
+
+__Boost_Chrono__ provides them when supported by the underlying platform. A given platform may not be able to supply all three of these clocks.
+
+The library adds some clocks that are specific to a process or a thread, that is there is a clock per process or per thread.
+
+
+The user is also able to easily create more clocks.
 
 Given a clock named Clock, it will have:
 
@@ -668,9 +702,9 @@
     public:
         typedef an arithmetic-like type rep;
         typedef an instantiation of ratio period;
- typedef boost::chrono::__duration__<rep, period> __duration__;
- typedef boost::chrono::__time_point__<Clock> time_point;
- static const bool is_monotonic = true or false;
+ typedef bchrono::__duration__<rep, period> __duration__;
+ typedef bchrono::__time_point__<Clock> time_point;
+ static constexpr bool is_monotonic = true or false;
 
         static time_point now();
     };
@@ -681,7 +715,7 @@
 
 And one can get the time __duration__ between two __time_point_s__ associated with Clock with:
 
- Clock::duration d = t1 - Clock::now();
+ Clock::duration d = Clock::now() - t1;
 
 And one can specify a past or future __time_point__ with:
 
@@ -689,6 +723,7 @@
 
 Note how even if a particular clock becomes obsolete, the next clock in line will have the same API. There is no new learning curve to come up. The only source code changes will be simply changing the type of the clock. The same __duration__ and __time_point__ framework continues to work as new clocks are introduced. And multiple clocks are safely and easily handled within the same program.
 
+
 [endsect]
 
 
@@ -708,7 +743,7 @@
 
 A __time_point__ has a clock and a __duration__.
 
- template <class Clock, class Duration = typename Clock::duration> class time_point;
+ template <class Clock, class Duration = typename Clock::duration> class __time_point__;
 
 The __time_point__'s clock is not stored. It is simply embedded into the __time_point__'s type and serves two purposes:
 
@@ -721,10 +756,10 @@
 
     void f()
     {
- monotonic_clock::time_point start = monotonic_clock::now();
+ bchrono::monotonic_clock::time_point start = bchrono::monotonic_clock::now();
         g();
         h();
- __duration__<double> sec = monotonic_clock::now() - start;
+ __duration__<double> sec = bchrono::monotonic_clock::now() - start;
         cout << "f() took " << sec.count() << " seconds\n";
     }
 
@@ -733,8 +768,8 @@
 A delay loop example:
 
     // delay for at least 500 nanoseconds:
- auto go = monotonic_clock::now() + nanoseconds(500);
- while (monotonic_clock::now() < go)
+ auto go = bchrono::monotonic_clock::now() + bchrono::nanoseconds(500);
+ while (bchrono::monotonic_clock::now() < go)
         ;
 
 The above code will delay as close as possible to half a microsecond, no matter what the precision of __monotonic_clock__ is. The more precise __monotonic_clock__ becomes, the more accurate will be the delay to 500 nanoseconds.
@@ -742,55 +777,10 @@
 
 [endsect]
 
-[section How to get the actual CPU milliseconds (or other units?) used by the current thread between end and start?]
 
-You can use __duration_cast__`<>` to convert the __thread_clock__`::duration` into whatever units you desire. This facility will round down (truncate) if an exact conversion is not possible. Ex:
-
- typedef boost::chrono::__milliseconds__ ms;
- ms d = boost::chrono::__duration_cast__<ms>(end - start);
-
- // d now holds the number of milliseconds from start to end.
-
- std::cout << ms.count() << "ms\n";
-
-As `boost::chrono::__thread_clock__::duration` is __nanoseconds__, we can convert to __nanoseconds__, or some integral-based duration which __nanoseconds__ will always exactly convert to, then __duration_cast__`<>` is unnecessary:
-
- typedef boost::chrono::__nanoseconds__ ns;
- ns d = end - start;
- std::cout << ns.count() << "ns\n";
-
-If you need seconds with a floating point representation you can also eliminate the __duration_cast__`<>`:
-
- typedef boost::chrono::__duration__<double> sec; // seconds, stored with a double
- sec d = end - start;
- std::cout << sec.count() << "s\n";
-
-If you're not sure if you need __duration_cast__`<>` or not, feel free to try it without. If the conversion is exact, or if the destination has a floating point representation, it will compile. Else it will not compile.
-
-If you would like to programmatically inspect `__thread_clock__::duration`, you can get the representation type with `__thread_clock__::rep`, and the tick period with `__thread_clock__::period` (which should be a type __ratio__ which has nested values `__ratio__::num` and `__ratio__::den`). The tick period of __thread_clock__ is `__thread_clock__::period::num / __thread_clock__::period::den` seconds: 1/1000000000 in this case (`1` billionth of a second), stored in a `long long`.
-
-If you need to use __duration_cast__`<>`, but want to round up, instead of down when the conversion is inexact, here is a handy little helper function to do so. Writing it is actually a good starter project for understanding chrono:
-
- template <class ToDuration, Rep, Period>
- ToDuration
- round_up(boost::chrono::__duration__<Rep, Period> d)
- {
- // first round down
- ToDuration result = boost::chrono::__duration_cast__<ToDuration>(d);
- if (result < d) // comparisons are *always* exact
- ++result; // increment by one tick period
- return result;
- }
-
- typedef boost::chrono::__milliseconds__ ms;
- ms d = round_up<ms>(end - start);
- // d now holds the number of milliseconds from start to end, rounded up.
- std::cout << ms.count() << "ms\n";
-
-[endsect]
 
 [/
-[section How to define a thread clock]
+[section How to Define a Thread Clock]
 
 On posix systems for which the macro _POSIX_THREAD_CPUTIME is defined we can get the time associated to a specific thread.
 
@@ -800,7 +790,7 @@
         typedef duration::rep rep;
         typedef duration::period period;
         typedef chrono::__time_point__<thread_clock> time_point;
- static const bool is_monotonic = BOOST_CHRONO_THREAD_CLOCK_IS_MONOTONIC;
+ static constexpr bool is_monotonic = BOOST_CHRONO_THREAD_CLOCK_IS_MONOTONIC;
 
         static time_point now( ) {
             // get the current thread
@@ -847,12 +837,67 @@
 
 [endsect]
 
+[section Specific Clocks]
+[section system_clock]
+
+__system_clock is useful when you need to correlate the time with a known epoch so you can convert it to a calendar time. Note the specific functions in the __system_clock__ class.
+
+
+[endsect]
+[section monotonic_clock]
+
+__monotonic_clock__ is useful when you need to wait for a specific amount of time. __monotonic_clock__ time can not be reset. As other monotonic clocks, it is based on the processor tick.
+
+Next is presented a polling solution, which will however be too inefficient:
+
+ bchrono::__monotonic_clock__::time_point start= chrono::__monotonic_clock__::now();
+ bchrono::__monotonic_clock__::duration delay= chrono::seconds(5);
+ while (bchrono::__monotonic_clock__::now() - start <= delay) {}
+
+[endsect]
+
+[section high_resolution_clock]
+
+When available, __high_resolution_clock__ is usualy more expensive than the other system-wide clocks, so they are used only when the provided resolution is required to the application.
+
+[endsect]
+
+[section process_cpu_clock]
+
+Process and thread clocks are used usualy to measure the time spent by code blocks, as a basic time-spent profiling of different blocks of code (Boost.Stopwatch is clear example of this use).
+
+
+
+[endsect]
+
+[section thread_clock]
+
+You can use __thread_clock__ whenever you want to measure the time spent by the current thread. For example:
+
+ bchrono::__thread_clock__::time_point start=bchrono::__thread_clock__::now();
+ //do something
+
+ typedef bchrono::__milliseconds__ ms;
+ ms d = bchrono::__thread_clock__::now() - start;
+ // d now holds the number of milliseconds from start to end.
+ std::cout << ms.count() << "ms\n";
+
+If you need seconds with a floating point representation you can do:
+
+ typedef bchrono::__duration__<double> sec; // seconds, stored with a double
+ sec d = end - start;
+ std::cout << sec.count() << "s\n";
+
+If you would like to programmatically inspect `__thread_clock__::duration`, you can get the representation type with `__thread_clock__::rep`, and the tick period with `__thread_clock__::period` (which should be a type __ratio__ which has nested values `__ratio__::num` and `__ratio__::den`). The tick period of __thread_clock__ is `__thread_clock__::period::num / __thread_clock__::period::den` seconds: 1/1000000000 in this case (`1` billionth of a second), stored in a `long long`.
+
+[endsect]
+[endsect]
 
 [section I/O]
 
 Any __duration__ can be streamed out to a `basic_ostream`. The run time value of the __duration__ is formatted according to the rules and current format settings for __duration__`::rep`. This is followed by a single space and then the compile time unit name of the __duration__. This unit name is built on the string returned from `ratio_string<>` and the data used to construct the __duration_punct__ which was inserted into the stream's locale. If a __duration_punct__ has not been inserted into the stream's locale, a default constructed __duration_punct__ will be added to the stream's locale.
 
-__duration__ unit names come in two varieties: long and short. The default constructed __duration_punct__ provides names in the long format. These names are English descriptions. Other languages are supported by constructing a __duration_punct__ with the proper spellings for hours, "minutes" and "seconds", and their abbreviations (for the short format). The short or long format can be easily chosen by streaming a `duration_short` or `duration_long` manipulator respectively.
+__duration__ unit names come in two varieties: long and short. The default constructed __duration_punct__ provides names in the long format. These names are English descriptions. Other languages are supported by constructing a __duration_punct__ with the proper spellings for "hours", "minutes" and "seconds", and their abbreviations (for the short format). The short or long format can be easily chosen by streaming a `duration_short()` or `duration_long()` manipulator respectively.
 
 A __time_point__ is formatted by outputting its internal __duration__ followed by a string that describes the __time_point__`::clock` epoch. This string will vary for each distinct clock, and for each implementation of the supplied clocks.
 
@@ -865,36 +910,38 @@
     {
         using namespace std;
         using namespace boost;
- using namespace boost::chrono;
+ namespace bchrono=boost::chrono;
 
         cout << "milliseconds(3) + microseconds(10) = "
- << milliseconds(3) + microseconds(10) << '\n';
+ << bchrono::milliseconds(3) + bchrono::microseconds(10) << '\n';
 
         cout << "hours(3) + minutes(10) = "
- << hours(3) + minutes(10) << '\n';
+ << bchrono::hours(3) + bchrono::minutes(10) << '\n';
 
- typedef duration<long long, ratio<1, 2500000000> > ClockTick;
- cout << "ClockTick(3) + nanoseconds(10) = "
- << ClockTick(3) + nanoseconds(10) << '\n';
+ typedef bchrono::duration<long long, boost::ratio<1, 2500000000> > ClockTick;
+ cout << "ClockTick(3) + bchrono::nanoseconds(10) = "
+ << ClockTick(3) + bchrono::nanoseconds(10) << '\n';
 
         cout << "\nSet cout to use short names:\n";
- cout << duration_short;
+ cout << bchrono::duration_short;
 
         cout << "milliseconds(3) + microseconds(10) = "
- << milliseconds(3) + microseconds(10) << '\n';
+ << bchrono::milliseconds(3) + bchrono::microseconds(10) << '\n';
 
         cout << "hours(3) + minutes(10) = "
- << hours(3) + minutes(10) << '\n';
+ << bchrono::hours(3) + bchrono::minutes(10) << '\n';
 
         cout << "ClockTick(3) + nanoseconds(10) = "
- << ClockTick(3) + nanoseconds(10) << '\n';
+ << ClockTick(3) + bchrono::nanoseconds(10) << '\n';
 
- cout << "\nsystem_clock::now() = " << system_clock::now() << '\n';
+ cout << "\nsystem_clock::now() = " << bchrono::system_clock::now() << '\n';
     #ifdef BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- cout << "monotonic_clock::now() = " << monotonic_clock::now() << '\n';
+ cout << "monotonic_clock::now() = " << bchrono::monotonic_clock::now() << '\n';
     #endif
- cout << "\nSet cout to use long names:\n" << duration_long
- << "high_resolution_clock::now() = " << high_resolution_clock::now() << '\n';
+ cout << "\nSet cout to use long names:\n"
+ << bchrono::duration_long
+ << "high_resolution_clock::now() = "
+ << bchrono::high_resolution_clock::now() << '\n';
         return 0;
     }
 
@@ -915,7 +962,7 @@
     Set cout to use long names:
     high_resolution_clock::now() = 18588963785548 nanoseconds since boot
 
-Parsing a `duration` follows rules analogous to the `duration` converting constructor. A value and a unit (short or long) are read from the `basic_istream`. If the `duration` has an integral representation, then the value parsed must be exactly representable in the target `duration` (after conversion to the target `duration` units), else `failbit` is set. `duration`s based on floating point representations can be parsed using any units that do not cause overflow.
+Parsing a __duration__ follows rules analogous to the __duration__ converting constructor. A value and a unit (short or long) are read from the `basic_istream`. If the __duration__ has an integral representation, then the value parsed must be exactly representable in the target __duration__ (after conversion to the target __duration__ units), else `failbit` is set. __duration_s__ based on floating point representations can be parsed using any units that do not cause overflow.
 
 For example a stream containing "5000 milliseconds" can be parsed into seconds, but if the stream contains "5001 milliseconds", parsing into `seconds` will cause `failbit` to be set.
 
@@ -928,10 +975,10 @@
     int main()
     {
         using namespace std;
- using namespace boost::chrono;
+ namespace bchrono=boost::chrono;
 
         istringstream in("5000 milliseconds 4000 ms 3001 ms");
- seconds d(0);
+ bchrono::seconds d(0);
         in >> d;
         assert(in.good());
         assert(d == seconds(5));
@@ -946,9 +993,9 @@
     }
 
 
-Note that a `duration` failure may occur late in the parsing process. This means that the characters making up the failed parse in the stream are usually consumed despite the failure to successfully parse.
+Note that a __duration__ failure may occur late in the parsing process. This means that the characters making up the failed parse in the stream are usually consumed despite the failure to successfully parse.
 
-Parsing a `time_point` involves first parsing a `duration` and then parsing the epoch string. If the epoch string does not match that associated with `time_point::clock` then failbit will be set.
+Parsing a __time_point__ involves first parsing a __duration__ and then parsing the epoch string. If the epoch string does not match that associated with `time_point::clock` then failbit will be set.
 
 __example
 
@@ -960,18 +1007,18 @@
     int main()
     {
         using namespace std;
- using namespace boost::chrono;
+ namespace bchrono=boost::chrono;
 
- high_resolution_clock::time_point t0 = high_resolution_clock::now();
+ bchrono::high_resolution_clock::time_point t0 = bchrono::high_resolution_clock::now();
         stringstream io;
         io << t0;
- high_resolution_clock::time_point t1;
+ bchrono::high_resolution_clock::time_point t1;
         io >> t1;
         assert(!io.fail());
         cout << io.str() << '\n';
         cout << t0 << '\n';
         cout << t1 << '\n';
- high_resolution_clock::time_point t = high_resolution_clock::now();
+ bchrono::high_resolution_clock::time_point t = bchrono::high_resolution_clock::now();
         cout << t << '\n';
 
         cout << "That took " << t - t0 << '\n';
@@ -994,10 +1041,10 @@
     {
         using namespace std;
         using namespace boost;
- using namespace boost::chrono;
+ namespace bchrono=boost::chrono;
 
- typedef time_point<monotonic_clock, duration<double, ratio<3600> > > T;
- T tp = monotonic_clock::now();
+ typedef bchrono::time_point<bchrono::monotonic_clock, bchrono::duration<double, boost::ratio<3600> > > T;
+ T tp = bchrono::monotonic_clock::now();
         std::cout << tp << '\n';
         return 0;
     }
@@ -1013,39 +1060,12 @@
 [section Examples]
 [/===============]
 
-[section Time point]
-
-[/==================]
-[section min utility]
-
-The following function returns the earliest time_point.
-
- template <class Clock, class Duration1, class Duration2>
- typename boost::__common_type__<__time_point__<Clock, Duration1>,
- __time_point__<Clock, Duration2> >::type
- min(__time_point__<Clock, Duration1> t1, __time_point__<Clock, Duration2> t2)
- {
- return t2 < t1 ? t2 : t1;
- }
-
-Being able to *easily* write this function is a major feature!
-
- BOOST_AUTO(t1, system_clock::now() + seconds(3));
- BOOST_AUTO(t2, system_clock::now() + nanoseconds(3));
- BOOST_AUTO(t3, min(t1, t2));
-
-['See the source file [@../../example/min_time_point.cpp example/min_time_point.cpp]]
-
-
-[endsect]
-
-[endsect]
 
 
 [section Duration]
 
 [/===============]
-[section How you override the duration's default constructor]
+[section How you Override the Duration's Default Constructor]
 
 Next follows how you override the duration's default constructor to do anything you want (in this case set it to zero). All we need to do is to change the representation
 
@@ -1088,12 +1108,12 @@
         friend bool operator>=(zero_default x, zero_default y) {return !(x < y);}
     };
 
- typedef boost::chrono::__duration__<zero_default<long long>, boost::nano > nanoseconds;
- typedef boost::chrono::__duration__<zero_default<long long>, boost::micro > microseconds;
- typedef boost::chrono::__duration__<zero_default<long long>, boost::milli > milliseconds;
- typedef boost::chrono::__duration__<zero_default<long long> > seconds;
- typedef boost::chrono::__duration__<zero_default<long long>, boost::__ratio__<60> > minutes;
- typedef boost::chrono::__duration__<zero_default<long long>, boost::__ratio__<3600> > hours;
+ typedef bchrono::__duration__<zero_default<long long>, boost::nano > nanoseconds;
+ typedef bchrono::__duration__<zero_default<long long>, boost::micro > microseconds;
+ typedef bchrono::__duration__<zero_default<long long>, boost::milli > milliseconds;
+ typedef bchrono::__duration__<zero_default<long long> > seconds;
+ typedef bchrono::__duration__<zero_default<long long>, boost::ratio<60> > minutes;
+ typedef bchrono::__duration__<zero_default<long long>, boost::ratio<3600> > hours;
     }
 
 Usage
@@ -1122,7 +1142,7 @@
         static const double ticks_per_nanosecond;
 
     public:
- typedef boost::chrono::duration<double, boost::nano> tonanosec;
+ typedef bchrono::duration<double, boost::nano> tonanosec;
 
         duration() {} // = default;
         explicit duration(const rep& r) : rep_(r) {}
@@ -1173,13 +1193,97 @@
 [/================]
 [section Saturating]
 
-A "saturating" signed integral type is developed. This type has +/- infinity and a nan (like IEEE floating point) but otherwise obeys signed integral arithmetic. This class is subsequently used as the rep in boost::chrono::__duration__ to demonstrate a duration class that does not silently ignore overflow.
+A "saturating" signed integral type is developed. This type has +/- infinity and a nan (like IEEE floating point) but otherwise obeys signed integral arithmetic. This class is subsequently used as the rep in bchrono::__duration__ to demonstrate a duration class that does not silently ignore overflow.
 
 ['See the source file [@../../example/saturating.cpp example/saturating.cpp]]
 
 
 [endsect]
 
+
+
+[/==================]
+[section xtime Conversions]
+
+Example round_up utility: converts d to To, rounding up for inexact conversions
+Being able to *easily* write this function is a major feature!
+
+ #include <boost/chrono.hpp>
+ #include <boost/type_traits.hpp>
+
+ #include <iostream>
+
+ namespace bchrono=boost::chrono;
+
+ template <class To, class Rep, class Period>
+ To
+ round_up(bchrono::duration<Rep, Period> d)
+ {
+ To result = bchrono::duration_cast<To>(d);
+ if (result < d)
+ ++result;
+ return result;
+ }
+
+Demonstrate interaction with xtime-like facility:
+
+
+ struct xtime
+ {
+ long sec;
+ unsigned long usec;
+ };
+
+ template <class Rep, class Period>
+ xtime
+ to_xtime_truncate(bchrono::__duration__<Rep, Period> d)
+ {
+ xtime xt;
+ xt.sec = static_cast<long>(bchrono::__duration_cast__<__seconds__>(d).count());
+ xt.usec = static_cast<long>(bchrono::__duration_cast__<__microseconds__>(d - __seconds__(xt.sec)).count());
+ return xt;
+ }
+
+ template <class Rep, class Period>
+ xtime
+ to_xtime_round_up(bchrono::__duration__<Rep, Period> d)
+ {
+ xtime xt;
+ xt.sec = static_cast<long>(bchrono::__duration_cast__<__seconds__>(d).count());
+ xt.usec = static_cast<unsigned long>(round_up<bchrono::__microseconds__>(d - bchrono::__seconds__(xt.sec)).count());
+ return xt;
+ }
+
+ microseconds
+ from_xtime(xtime xt)
+ {
+ return bchrono::__seconds__(xt.sec) + bchrono::__microseconds__(xt.usec);
+ }
+
+ void print(xtime xt)
+ {
+ std::cout << '{' << xt.sec << ',' << xt.usec << "}\n";
+ }
+
+Usage
+
+ xtime xt = to_xtime_truncate(seconds(3) + bchrono::__milliseconds__(251));
+ print(xt);
+ bchrono::milliseconds ms = bchrono::__duration_cast__<bchrono::__milliseconds__>(from_xtime(xt));
+ std::cout << ms.count() << " milliseconds\n";
+ xt = to_xtime_round_up(ms);
+ print(xt);
+ xt = to_xtime_truncate(bchrono::seconds(3) + __nanoseconds__(999));
+ print(xt);
+ xt = to_xtime_round_up(bchrono::seconds(3) + __nanoseconds__(999));
+ print(xt);
+
+
+['See the source file [@../../example/xtime.cpp here]]
+
+[endsect]
+
+
 [endsect]
 [section Clocks]
 
@@ -1194,7 +1298,7 @@
 
     #include <iostream>
 
- using namespace boost::chrono;
+ namespace bchrono=boost::chrono;
 
 
     template <long long speed>
@@ -1204,8 +1308,8 @@
             frequency; // Mhz
         typedef typename boost::__ratio_divide__<boost::__ratio__<1>, frequency>::type period;
         typedef long long rep;
- typedef boost::chrono::__duration__<rep, period> duration;
- typedef boost::chrono::__time_point__<cycle_count> time_point;
+ typedef bchrono::__duration__<rep, period> duration;
+ typedef bchrono::__time_point__<cycle_count> time_point;
 
         static time_point now()
         {
@@ -1223,7 +1327,7 @@
         typedef duration::rep rep;
         typedef duration::period period;
         static const long long nanosec_per_sec = period::den;
- typedef boost::chrono::__time_point__<approx_cycle_count> time_point;
+ typedef bchrono::__time_point__<approx_cycle_count> time_point;
 
         static time_point now()
         {
@@ -1241,8 +1345,7 @@
 [/==================]
 [section xtime_clock]
 
-This example demonstrates the use of a timeval-like struct to be used as the representation
-type for both duraiton and time_point.
+This example demonstrates the use of a timeval-like struct to be used as the representation type for both __duraiton__ and __time_point__.
 
     class xtime {
     private:
@@ -1332,8 +1435,8 @@
     public:
         typedef xtime rep;
         typedef boost::micro period;
- typedef boost::chrono::duration<rep, period> duration;
- typedef boost::chrono::time_point<xtime_clock> time_point;
+ typedef bchrono::duration<rep, period> duration;
+ typedef bchrono::time_point<xtime_clock> time_point;
 
         static time_point now()
         {
@@ -1363,16 +1466,15 @@
 
 Usage of xtime_clock
 
- using namespace boost::chrono;
         std::cout << "sizeof xtime_clock::time_point = " << sizeof(xtime_clock::time_point) << '\n';
         std::cout << "sizeof xtime_clock::duration = " << sizeof(xtime_clock::duration) << '\n';
         std::cout << "sizeof xtime_clock::rep = " << sizeof(xtime_clock::rep) << '\n';
- xtime_clock::duration delay(milliseconds(5));
+ xtime_clock::duration delay(bchrono::milliseconds(5));
         xtime_clock::time_point start = xtime_clock::now();
         while (xtime_clock::now() - start <= delay) {}
         xtime_clock::time_point stop = xtime_clock::now();
         xtime_clock::duration elapsed = stop - start;
- std::cout << "paused " << nanoseconds(elapsed).count() << " nanoseconds\n";
+ std::cout << "paused " << bchrono::::nanoseconds(elapsed).count() << " nanoseconds\n";
 
 
 ['See the source file [@../../example/timeval_demo.cpp example/timeval_demo.cpp]]
@@ -1380,105 +1482,45 @@
 [endsect]
 [endsect]
 
-[section Conversions]
-
-[/==================]
-[section xtime conversions]
-
-Example round_up utility: converts d to To, rounding up for inexact conversions
-Being able to *easily* write this function is a major feature!
-
- #include <boost/chrono.hpp>
- #include <boost/type_traits.hpp>
-
- #include <iostream>
-
- using namespace boost::chrono;
-
- template <class To, class Rep, class Period>
- To
- round_up(duration<Rep, Period> d)
- {
- To result = duration_cast<To>(d);
- if (result < d)
- ++result;
- return result;
- }
 
-Demonstrate interaction with xtime-like facility:
 
+[/
+[/======================================================]
+[section Howard Hinnant's original demonstration program]
 
- struct xtime
- {
- long sec;
- unsigned long usec;
- };
+['See the source file [@../../example/time2_demo.cpp example/time2_demo.cpp]]
 
- template <class Rep, class Period>
- xtime
- to_xtime_truncate(__duration__<Rep, Period> d)
- {
- xtime xt;
- xt.sec = static_cast<long>(__duration_cast__<__seconds__>(d).count());
- xt.usec = static_cast<long>(__duration_cast__<__microseconds__>(d - __seconds__(xt.sec)).count());
- return xt;
- }
+[endsect]
+]
+[section Time Point]
 
- template <class Rep, class Period>
- xtime
- to_xtime_round_up(__duration__<Rep, Period> d)
- {
- xtime xt;
- xt.sec = static_cast<long>(__duration_cast__<__seconds__>(d).count());
- xt.usec = static_cast<unsigned long>(round_up<__microseconds__>(d - __seconds__(xt.sec)).count());
- return xt;
- }
+[/==================]
+[section min Utility]
 
- microseconds
- from_xtime(xtime xt)
- {
- return __seconds__(xt.sec) + __microseconds__(xt.usec);
- }
+The user can define a function returning the earliest __time_point__ as follows:
 
- void print(xtime xt)
+ template <class Clock, class Duration1, class Duration2>
+ typename boost::__common_type__<__time_point__<Clock, Duration1>,
+ __time_point__<Clock, Duration2> >::type
+ min(__time_point__<Clock, Duration1> t1, __time_point__<Clock, Duration2> t2)
     {
- std::cout << '{' << xt.sec << ',' << xt.usec << "}\n";
+ return t2 < t1 ? t2 : t1;
     }
 
-Usage
-
- xtime xt = to_xtime_truncate(seconds(3) + __milliseconds__(251));
- print(xt);
- milliseconds ms = __duration_cast__<__milliseconds__>(from_xtime(xt));
- std::cout << ms.count() << " milliseconds\n";
- xt = to_xtime_round_up(ms);
- print(xt);
- xt = to_xtime_truncate(seconds(3) + __nanoseconds__(999));
- print(xt);
- xt = to_xtime_round_up(seconds(3) + __nanoseconds__(999));
- print(xt);
-
-
-['See the source file [@../../example/xtime.cpp here]]
-
-[endsect]
-[endsect]
-
+Being able to *easily* write this function is a major feature!
 
+ BOOST_AUTO(t1, system_clock::now() + seconds(3));
+ BOOST_AUTO(t2, system_clock::now() + nanoseconds(3));
+ BOOST_AUTO(t3, min(t1, t2));
 
-[/
-[/======================================================]
-[section Howard Hinnant's original demonstration program]
+['See the source file [@../../example/min_time_point.cpp example/min_time_point.cpp]]
 
-['See the source file [@../../example/time2_demo.cpp example/time2_demo.cpp]]
 
 [endsect]
-]
 
-[section Reporting]
 
 [/===============================================================]
-[section A tiny program that times how long until a key is struck]
+[section A Tiny Program that Times How Long Until a Key is Struck]
 
     #include <boost/chrono.hpp>
     #include <iostream>
@@ -1491,14 +1533,11 @@
     {
       typename Clock::time_point start;
     public:
-
       timer() : start( Clock::now() ) {}
-
       typename Clock::duration elapsed() const
       {
         return Clock::now() - start;
       }
-
       double seconds() const
       {
         return elapsed().count() * ((double)Clock::period::num/Clock::period::den);
@@ -1511,7 +1550,7 @@
       timer<__monotonic_clock__> t2;
       timer<__high_resolution_clock__> t3;
 
- std::cout << "Strike any key: ";
+ std::cout << "Type the Enter key: ";
       std::cin.get();
 
       std::cout << std::fixed << std::setprecision(9);
@@ -1554,7 +1593,7 @@
 
 [/
 [/===============================================================]
-[section time command]
+[section Time Command]
 
     #include <boost/chrono/stopclock.hpp>
     #include <cstdlib>
@@ -1590,7 +1629,7 @@
       if ( verbose )
         { std::cout << "command: \"" << s.c_str() << "\"\n"; }
 
- boost::chrono::__stopclock__<> t;
+ bchrono::__stopclock__<> t;
 
       return std::system( s.c_str() );
     }
@@ -1600,11 +1639,11 @@
 [endsect]
 ]
 
-[section 24 hours display]
+[section 24 Hours Display]
 
-In the example above we take advantage of the fact that `time_point`s convert as long as they have the same clock, and as long as their internal `duration`s convert. We also take advantage of the fact that a `duration` with a floating point representation will convert from anything. Finally the I/O system discovers the more readable "hours" unit for our `duration<double, ratio<3600>>`.
+In the example above we take advantage of the fact that __time_point_s__ convert as long as they have the same clock, and as long as their internal __duration_s__ convert. We also take advantage of the fact that a __duration__ with a floating point representation will convert from anything. Finally the I/O system discovers the more readable "hours" unit for our `duration<double, ratio<3600>>`.
 
-There are many other ways to format `duration`s and `time_point`s. For example see [@http://en.wikipedia.org/wiki/ISO_8601#Durations ISO 8601]. Instead of coding every possibility into `operator<<`, which would lead to significant code bloat for even the most trivial uses, this document seeks to inform the reader how to write custom I/O when desired.
+There are many other ways to format __durations__ and __time_points__. For example see [@http://en.wikipedia.org/wiki/ISO_8601#Durations ISO 8601]. Instead of coding every possibility into `operator<<`, which would lead to significant code bloat for even the most trivial uses, this document seeks to inform the reader how to write custom I/O when desired.
 
 As an example, the function below streams arbitrary durations to arbitrary `basic_ostreams` using the format:
 
@@ -1620,54 +1659,55 @@
     #include <boost/chrono/chrono_io.hpp>
     #include <ostream>
     #include <iostream>
+
     // format duration as [-]d/hh::mm::ss.cc
     template <class CharT, class Traits, class Rep, class Period>
     std::basic_ostream<CharT, Traits>&
     display(std::basic_ostream<CharT, Traits>& os,
- boost::chrono::duration<Rep, Period> d)
+ bchrono::duration<Rep, Period> d)
     {
         using namespace std;
         using namespace boost;
- using namespace boost::chrono;
+ namespace bchrono=boost::chrono;
 
- typedef duration<long long, ratio<86400> > days;
- typedef duration<long long, centi> centiseconds;
+ typedef bchrono::duration<long long, boost::ratio<86400> > days;
+ typedef bchrono::duration<long long, boost:centi> centiseconds;
 
         // if negative, print negative sign and negate
- if (d < duration<Rep, Period>(0))
+ if (d < bchrono::duration<Rep, Period>(0))
         {
             d = -d;
             os << '-';
         }
         // round d to nearest centiseconds, to even on tie
- centiseconds cs = duration_cast<centiseconds>(d);
- if (d - cs > milliseconds(5)
- || (d - cs == milliseconds(5) && cs.count() & 1))
+ centiseconds cs = bchrono::duration_cast<centiseconds>(d);
+ if (d - cs > bchrono::milliseconds(5)
+ || (d - cs == bchrono::milliseconds(5) && cs.count() & 1))
             ++cs;
         // separate seconds from centiseconds
- seconds s = duration_cast<seconds>(cs);
+ bchrono::seconds s = bchrono::duration_cast<bchrono::seconds>(cs);
         cs -= s;
         // separate minutes from seconds
- minutes m = duration_cast<minutes>(s);
+ bchrono::minutes m = bchrono::duration_cast<bchrono::minutes>(s);
         s -= m;
         // separate hours from minutes
- hours h = duration_cast<hours>(m);
+ bchrono::hours h = bchrono::duration_cast<bchrono::hours>(m);
         m -= h;
         // separate days from hours
- days dy = duration_cast<days>(h);
+ days dy = bchrono::duration_cast<days>(h);
         h -= dy;
         // print d/hh:mm:ss.cc
         os << dy.count() << '/';
- if (h < hours(10))
+ if (h < bchrono::hours(10))
             os << '0';
         os << h.count() << ':';
- if (m < minutes(10))
+ if (m < bchrono::minutes(10))
             os << '0';
         os << m.count() << ':';
- if (s < seconds(10))
+ if (s < bchrono::seconds(10))
             os << '0';
         os << s.count() << '.';
- if (cs < centiseconds(10))
+ if (cs < bchrono::centiseconds(10))
             os << '0';
         os << cs.count();
         return os;
@@ -1677,13 +1717,13 @@
     {
         using namespace std;
         using namespace boost;
- using namespace boost::chrono;
+ namespace bchrono=boost::chrono;
 
- display(cout, monotonic_clock::now().time_since_epoch()
- + duration<long, mega>(1)) << '\n';
- display(cout, -milliseconds(6)) << '\n';
- display(cout, duration<long, mega>(1)) << '\n';
- display(cout, -duration<long, mega>(1)) << '\n';
+ display(cout, bchrono::monotonic_clock::now().time_since_epoch()
+ + bchrono::duration<long, boost::mega>(1)) << '\n';
+ display(cout, -bchrono::milliseconds(6)) << '\n';
+ display(cout, bchrono::duration<long, boost::mega>(1)) << '\n';
+ display(cout, -bchrono::duration<long, boost::mega>(1)) << '\n';
     }
 
 The output could be:
@@ -1695,12 +1735,11 @@
 
 [endsect]
 
-[endsect]
 
 [/=======================================================]
-[section Simulated thread interface demonstration program]
+[section Simulated Thread Interface Demonstration Program]
 
-The C++0x standard library's multi-threading library requires the ability to deal with the representation of time in a manner consistent with modern C++ practices. Next follows a simaulation of this interface.
+The C++0x standard library's multi-threading library requires the ability to deal with the representation of time in a manner consistent with modern C++ practices. Next follows a simulation of this interface.
 
 The non-member sleep functions can be emulated as follows:
 
@@ -1809,35 +1848,37 @@
     };
     }
 
-Next follows how how sumple is the usage of this functions:
+Next follows how simple is the usage of this functions:
 
     boost::mutex m;
     boost::timed_mutex mut;
     boost::condition_variable cv;
 
     using namespace boost;
- using namespace boost::chrono;
 
- this_thread::sleep_for(__seconds__(3));
- this_thread::sleep_for(__nanoseconds__(300));
- system_clock::time_point time_limit = __system_clock__::now() + __seconds_(4) + __milliseconds__(500);
+ this_thread::sleep_for(chrono::__seconds__(3));
+ this_thread::sleep_for(chrono::__nanoseconds__(300));
+ chrono::__system_clock__::time_point time_limit = chrono::__system_clock__::now() + chrono::__seconds_(4) + chrono::__milliseconds__(500);
     this_thread::sleep_until(time_limit);
 
- mut.try_lock_for(__milliseconds__(30));
+ mut.try_lock_for(chrono::__milliseconds__(30));
     mut.try_lock_until(time_limit);
 
- cv.wait_for(m, __minutes__(1)); // real code would put this in a loop
+ cv.wait_for(m, chrono::__minutes__(1)); // real code would put this in a loop
     cv.wait_until(m, time_limit); // real code would put this in a loop
 
     // For those who prefer floating point
- this_thread::sleep_for(__duration__<double>(0.25));
- this_thread::sleep_until(__system_clock__::now() + __duration__<double>(1.5));
+ this_thread::sleep_for(chrono::__duration__<double>(0.25));
+ this_thread::sleep_until(chrono::__system_clock__::now() + chrono::__duration__<double>(1.5));
 
 
 ['See the source file [@../../example/simulated_thread_interface_demo.cpp example/simulated_thread_interface_demo.cpp]]
 
+[endsect]
 
 [endsect]
+[section IO]
+[endsect]
 
 [endsect]
 
@@ -1873,7 +1914,9 @@
 [section:reference Reference ]
 [/=================]
 
-[section:cpp0x Included on the C++0x recommendation]
+As `constexpr` will not be supported by some compilers, it is replaced in the code by BOOST_CHRONO_CONSTEXPR for constexpr functions and BOOST_CHRONO_CONSTEXPR_V for struct/class fields. THe documentation doesn't use these macros.
+
+[section:cpp0x Included on the C++0x Recommendation]
 
 
 [/=============================================]
@@ -1891,7 +1934,8 @@
 
 Next follows limitation respect to the C++0x recomendations:
 
-* `constexpr` don't used for `min()`, `max()` and `zero()` __duration_values__ class as no compiler supports it today. `const` is used instead when appropiated.
+* constexpr not tested yet.
+* The recently steady_clock approved is not yet included.
 
 The current implementation provides in addition:
 
@@ -1901,9 +1945,9 @@
 
 [endsect]
 
-[section:conf Configuration macros]
+[section:conf Configuration Macros]
 
-[section:assert How Assert behaves?]
+[section:assert How Assert Behaves?]
 
 When `BOOST_NO_STATIC_ASSERT` is defined, the user can select the way static assertions are reported. Define
 
@@ -1911,28 +1955,28 @@
 * `BOOST_CHRONO_USES_MPL_ASSERT`: define it if you want to use Boost.MPL static asertions
 * `BOOST_CHRONO_USES_ARRAY_ASSERT`: define it if you want to use internal static asertions
 
-The default vaule behavior is as `BOOST_CHRONO_USES_ARRAY_ASSERT` was defined.
+The default behavior is as `BOOST_CHRONO_USES_ARRAY_ASSERT` was defined.
 
 When `BOOST_CHRONO_USES_MPL_ASSERT` is not defined the following symbols are defined as
 
     #define BOOST_CHRONO_A_DURATION_REPRESENTATION_CAN_NOT_BE_A_DURATION \
         "A duration representation can not be a duration"
     #define BOOST_CHRONO_SECOND_TEMPLATE_PARAMETER_OF_DURATION_MUST_BE_A_STD_RATIO \
- "Second template parameter of duration must be a std::ratio"
+ "Second template parameter of duration must be a boost::ratio"
     #define BOOST_CHRONO_DURATION_PERIOD_MUST_BE_POSITIVE \
         "duration period must be positive"
     #define BOOST_CHRONO_SECOND_TEMPLATE_PARAMETER_OF_TIME_POINT_MUST_BE_A_BOOST_CHRONO_DURATION \
- "Second template parameter of time_point must be a boost::chrono::duration"
+ "Second template parameter of time_point must be a bchrono::duration"
 
-Depending on the static assertion used system you will have an hint of the failing assertion either through the symbol or through the texte.
+Depending on the static assertion used system you will have an hint of the failing assertion either through the symbol or through the text.
 
 [endsect]
 
-[section:header_only How to build __Boost_Chrono__ as a header only library?]
+[section:header_only How to Build Boost.Chrono as a Header Only Library?]
 
 When `BOOST_CHRONO_INLINED` is defined the lib is header-only.
 
-If in addition `BOOST_USE_WINDOWS_H` is defined `<windows.h>` is included, otherwise files in `detail/win` are used to reduce the impact of including `<windows.h>`.
+If in addition `BOOST_USE_WINDOWS_H` is defined `<windows.h>` is included, otherwise files in `boost/detail/win` are used to reduce the impact of including `<windows.h>`.
 
 [endsect]
 
@@ -1947,7 +1991,7 @@
 [section:duration_hpp Header `<boost/chrono/duration.hpp>`]
 [/=============================================]
 
-This file contains duration specific classes and non-member function.
+This file contains duration specific classes and non-member functions.
 
     namespace boost {
       namespace chrono {
@@ -1956,8 +2000,8 @@
 
       }
       template <class Rep1, class Period1, class Rep2, class Period2>
- struct __common_type_spe__<__duration__<Rep1, Period1>,
- __duration__<Rep2, Period2> >;
+ struct __common_type_spe__<duration<Rep1, Period1>,
+ duration<Rep2, Period2> >;
 
       namespace chrono {
 
@@ -1968,52 +2012,78 @@
         // duration arithmetic
         template <class Rep1, class Period1, class Rep2, class Period2>
         typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2> >::type
- BOOST_CHRONO_CONSTEXPR operator+(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
+ operator+(
+ const duration<Rep1, Period1>& lhs,
+ const duration<Rep2, Period2>& rhs);
 
         template <class Rep1, class Period1, class Rep2, class Period2>
         typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2> >::type
- BOOST_CHRONO_CONSTEXPR operator-(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
+ operator-(
+ const duration<Rep1, Period1>& lhs,
+ const duration<Rep2, Period2>& rhs);
 
         template <class Rep1, class Period, class Rep2>
         duration<typename common_type<Rep1, Rep2>::type, Period>
- BOOST_CHRONO_CONSTEXPR operator*(const duration<Rep1, Period>& d, const Rep2& s);
+ operator*(
+ const duration<Rep1, Period>& d,
+ const Rep2& s);
 
         template <class Rep1, class Period, class Rep2>
         duration<typename common_type<Rep1, Rep2>::type, Period>
- BOOST_CHRONO_CONSTEXPR operator*(const Rep1& s, const duration<Rep2, Period>& d);
+ operator*(
+ const Rep1& s,
+ const duration<Rep2, Period>& d);
 
         template <class Rep1, class Period, class Rep2>
         duration<typename common_type<Rep1, Rep2>::type, Period>
- BOOST_CHRONO_CONSTEXPR operator/(const duration<Rep1, Period>& d, const Rep2& s);
+ operator/(
+ const duration<Rep1, Period>& d,
+ const Rep2& s);
 
         template <class Rep1, class Period1, class Rep2, class Period2>
         typename common_type<Rep1, Rep2>::type
- BOOST_CHRONO_CONSTEXPR operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
+ operator/(
+ const duration<Rep1, Period1>& lhs,
+ const duration<Rep2, Period2>& rhs);
 
         template <class Rep1, class Rep2, class Period>
- BOOST_CHRONO_CONSTEXPR double operator/(const Rep1& s, const duration<Rep2, Period>& d);
+ double operator/(
+ const Rep1& s,
+ const duration<Rep2, Period>& d);
 
         // duration comparisons
         template <class Rep1, class Period1, class Rep2, class Period2>
- BOOST_CHRONO_CONSTEXPR bool operator==(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
+ constexpr bool operator==(
+ const duration<Rep1, Period1>& lhs,
+ const duration<Rep2, Period2>& rhs);
 
         template <class Rep1, class Period1, class Rep2, class Period2>
- BOOST_CHRONO_CONSTEXPR bool operator!=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
+ constexpr bool operator!=(
+ const duration<Rep1, Period1>& lhs,
+ const duration<Rep2, Period2>& rhs);
 
         template <class Rep1, class Period1, class Rep2, class Period2>
- BOOST_CHRONO_CONSTEXPR bool operator< (const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
+ constexpr bool operator<(
+ const duration<Rep1, Period1>& lhs,
+ const duration<Rep2, Period2>& rhs);
         template <class Rep1, class Period1, class Rep2, class Period2>
- BOOST_CHRONO_CONSTEXPR bool operator<=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
+ constexpr bool operator<=(
+ const duration<Rep1, Period1>& lhs,
+ const duration<Rep2, Period2>& rhs);
 
         template <class Rep1, class Period1, class Rep2, class Period2>
- BOOST_CHRONO_CONSTEXPR bool operator> (const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
+ constexpr bool operator> (
+ const duration<Rep1, Period1>& lhs,
+ const duration<Rep2, Period2>& rhs);
         template <class Rep1, class Period1, class Rep2, class Period2>
- BOOST_CHRONO_CONSTEXPR bool operator>=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
+ constexpr bool operator>=(
+ const duration<Rep1, Period1>& lhs,
+ const duration<Rep2, Period2>& rhs);
 
         // duration_cast
 
         template <class ToDuration, class Rep, class Period>
- ToDuration __duration_cast__(const __duration__<Rep, Period>& d);
+ ToDuration __duration_cast__(const duration<Rep, Period>& d);
 
         // convenience typedefs
         typedef duration<boost::int_least64_t, nano> __nanoseconds__; // at least 64 bits needed
@@ -2028,7 +2098,8 @@
 
 
 
-[section:traits Time-related traits]
+[section:traits Time-related Traits]
+
 [section:treat_as_floating_point Metafunction `treat_as_floating_point<>`]
 
     template <class Rep> struct treat_as_floating_point
@@ -2038,40 +2109,40 @@
 
 
 [endsect]
-[section:duration_values Class template `duration_values`]
+[section:duration_values Class Template `duration_values`]
 
     template <class Rep>
     struct duration_values
     {
     public:
- static BOOST_CHRONO_CONSTEXPR Rep __zero__();
- static BOOST_CHRONO_CONSTEXPR Rep __max__();
- static BOOST_CHRONO_CONSTEXPR Rep __min__();
+ static constexpr Rep __zero__();
+ static constexpr Rep __max__();
+ static 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_CHRONO_CONSTEXPR Rep zero();
+ static 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.
 
 __remarks The value returned corresponds to the additive identity.
 
 [endsect]
-[section:max Static member function `max()`]
+[section:max Static Member Function `max()`]
 
- static BOOST_CHRONO_CONSTEXPR Rep max();
+ static constexpr Rep max();
 
 __returns `numeric_limits<Rep>::max()`.
 
 __remarks The value returned compares greater than zero().
 
 [endsect]
-[section:min Static member function `min()`]
+[section:min Static Member Function `min()`]
 
- static BOOST_CHRONO_CONSTEXPR Rep min();
+ static constexpr Rep min();
 
 __returns `numeric_limits<Rep>::lowest()`.
 
@@ -2083,12 +2154,12 @@
 
 [endsect]
 
-[section:common_type_spe `common_type` specialization]
+[section:common_type_spe `common_type` Specialization]
 
     template <class Rep1, class Period1, class Rep2, class Period2>
     struct __common_type__<chrono::__duration__<Rep1, Period1>, chrono::__duration__<Rep2, Period2> >
     {
- typedef chrono::__duration__<typename __common_type__<Rep1, Rep2>::type, see below> type;
+ typedef chrono::__duration__<typename __common_type__<Rep1, Rep2>::type, __see_bellow__> type;
     };
 
 The period of the __duration__ indicated by this specialization of __common_type__ is the greatest common divisor of `Period1` and `Period2`. This can be computed by forming a __ratio__ of the greatest common divisor of `Period1::num` and `Period2::num`, and the least common multiple of `Period1::den` and `Period2::den`.
@@ -2098,7 +2169,7 @@
 [endsect]
 
 
-[section:duration Class template `duration<>`]
+[section:duration Class Template `duration<>`]
 
 A __duration__ measures time between two points in time (__time_point__). A __duration__ has a representation which holds a count of ticks, and a tick period. The tick period is the amount of time which occurs from one tick to another in units of a second. It is expressed as a rational constant using __ratio__.
 
@@ -2112,21 +2183,19 @@
         private:
             rep rep_; // exposition only
         public:
- BOOST_CHRONO_CONSTEXPR duration() {} // = default;
+ constexpr duration();
             template <class Rep2>
- BOOST_CHRONO_CONSTEXPR explicit duration(const Rep2& r);
+ constexpr explicit duration(const Rep2& r);
 
             template <class Rep2, class Period2>
- BOOST_CHRONO_CONSTEXPR duration(const duration<Rep2, Period2>& d);
+ constexpr duration(const duration<Rep2, Period2>& d);
 
- //~duration() = default;
- //duration(const duration&) = default;
- //duration& operator=(const duration&) = default;
+ duration& operator=(const duration&) = default;
 
- BOOST_CHRONO_CONSTEXPR rep count() const;
+ constexpr rep count() const;
 
- BOOST_CHRONO_CONSTEXPR duration operator+();
- BOOST_CHRONO_CONSTEXPR duration operator-();
+ constexpr duration operator+();
+ constexpr duration operator-();
             duration& operator++();
             duration operator++(int);
             duration& operator--();
@@ -2140,9 +2209,9 @@
             duration& operator%=(const rep& rhs);
             duration& operator%=(const duration& rhs);
 
- static BOOST_CHRONO_CONSTEXPR duration zero();
- static BOOST_CHRONO_CONSTEXPR duration min();
- static BOOST_CHRONO_CONSTEXPR duration max();
+ static constexpr duration zero();
+ static constexpr duration min();
+ static constexpr duration max();
         };
 
     }}
@@ -2166,7 +2235,7 @@
 [section:duration_c_1 Constructor `duration(const Rep2&)`]
 
     template <class Rep2>
- BOOST_CHRONO_CONSTEXPR explicit duration(const Rep2& r);
+ constexpr explicit duration(const Rep2& r);
 
 __remarks `Rep2` is implicitly convertible to `rep`, and
 
@@ -2188,7 +2257,7 @@
 [section:duration_c_2 Constructor `duration(const duration&)`]
 
     template <class Rep2, class Period2>
- BOOST_CHRONO_CONSTEXPR __duration__(const __duration__<Rep2, Period2>& d);
+ 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 will 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__.
 
@@ -2201,28 +2270,28 @@
 __effects Constructs an object of type __duration__, constructing `rep_` from `duration_cast<__duration__>(d).count()`.
 
 [endsect]
-[section:count Member function `count() const`]
+[section:count Member Function `count() const`]
 
- BOOST_CHRONO_CONSTEXPR rep count() const;
+ constexpr rep count() const;
 
-__returns `rep_v.
+__returns `rep_`.
 
 [endsect]
-[section:duration_operator_p Member function `operator+() const`]
+[section:duration_operator_p Member Function `operator+() const`]
 
- BOOST_CHRONO_CONSTEXPR __duration__ operator+() const;
+ constexpr __duration__ operator+() const;
 
 __returns `*this`.
 
 [endsect]
-[section:duration_operator_m Member function `operator+() const`]
+[section:duration_operator_m Member Function `operator-() const`]
 
- BOOST_CHRONO_CONSTEXPR __duration__ operator-() const;
+ constexpr __duration__ operator-() const;
 
 __returns `__duration__(-rep_)`.
 
 [endsect]
-[section:duration_operator_pp Member function `operator++()`]
+[section:duration_operator_pp Member Function `operator++()`]
 
     __duration__& operator++();
 
@@ -2231,14 +2300,14 @@
 __returns `*this`.
 
 [endsect]
-[section:duration_operator_pp2 Member function `operator++(int)`]
+[section:duration_operator_pp2 Member Function `operator++(int)`]
 
     __duration__ operator++(int);
 
-__returns `__duration__(rep_++)v.
+__returns `__duration__(rep_++)`.
 
 [endsect]
-[section:duration_operator_mm Member function `operator++()`]
+[section:duration_operator_mm Member Function `operator--()`]
 
     __duration__& operator--();
 
@@ -2247,14 +2316,14 @@
 __returns `*this`.
 
 [endsect]
-[section:duration_operator_mm2 Member function `operator++(int)`]
+[section:duration_operator_mm2 Member Function `operator--(int)`]
 
     __duration__ operator--(int);
 
 __returns `__duration__(rep_--)`.
 
 [endsect]
-[section:duration_operator_pa Member function `operator+=(const duration&)`]
+[section:duration_operator_pa Member Function `operator+=(const duration&)`]
 
     __duration__& operator+=(const __duration__& d);
 
@@ -2263,7 +2332,7 @@
 __returns `*this`.
 
 [endsect]
-[section:duration_operator_ma Member function `operator-=(const duration&)`]
+[section:duration_operator_ma Member Function `operator-=(const duration&)`]
 
     __duration__& operator-=(const __duration__& d);
 
@@ -2272,7 +2341,7 @@
 __returns `*this`.
 
 [endsect]
-[section:duration_operator_moda Member function `operator%=(const duration&)`]
+[section:duration_operator_moda Member Function `operator%=(const duration&)`]
 
     __duration__& operator%=(const __duration__& d);
 
@@ -2281,7 +2350,7 @@
 __returns `*this`.
 
 [endsect]
-[section:duration_operator_proda Member function `operator*=(const rep&)`]
+[section:duration_operator_proda Member Function `operator*=(const rep&)`]
 
     __duration__& operator*=(const rep& rhs);
 
@@ -2290,7 +2359,7 @@
 __returns `*this`.
 
 [endsect]
-[section:duration_operator_da Member function `operator/=(const rep&)`]
+[section:duration_operator_da Member Function `operator/=(const rep&)`]
 
     __duration__& operator/=(const rep& rhs);
 
@@ -2299,7 +2368,7 @@
 __returns `*this`.
 
 [endsect]
-[section:duration_operator_moda_2 Member function `operator%=(const rep&)`]
+[section:duration_operator_moda_2 Member Function `operator%=(const rep&)`]
 
     __duration__& operator%=(const rep& rhs);
 
@@ -2310,21 +2379,21 @@
 [endsect]
 
 
-[section:duration_zero Static Member function `zero()`]
+[section:duration_zero Static Member Function `zero()`]
 
- static __duration__ zero();
+ static constexpr __duration__ zero();
 
 __returns `__duration__(__duration_values__<rep>::zero())`.
 
 [endsect]
-[section:duration_min Static Member function `min()`]
+[section:duration_min Static Member Function `min()`]
 
- static __duration__ min();
+ static constexpr __duration__ min();
 
 __returns `__duration__(__duration_values__<rep>::min()).`
 
 [endsect]
-[section:duration_max Static Member function `max()`]
+[section:duration_max Static Member Function `max()`]
 
     static constexpr __duration__ max();
 
@@ -2335,9 +2404,9 @@
 [endsect]
 
 
-[section `duration` non-member arithmetic]
+[section `duration` Non-Member Arithmetic]
 
-[section:duration_operator_p_1 Non-Member function `operator+(duration,duration)`]
+[section:duration_operator_p_1 Non-Member Function `operator+(duration,duration)`]
 
     template <class Rep1, class Period1, class Rep2, class Period2>
     typename __common_type__<__duration__<Rep1, Period1>, __duration__<Rep2, Period2> >::type
@@ -2346,7 +2415,7 @@
 __returns `CD(lhs) += rhs` where `CD` is the type of the return value.
 
 [endsect]
-[section:duration_operator_m_1 Non-Member function `operator-(duration,duration)`]
+[section:duration_operator_m_1 Non-Member Function `operator-(duration,duration)`]
 
     template <class Rep1, class Period1, class Rep2, class Period2>
     typename __common_type__<__duration__<Rep1, Period1>, __duration__<Rep2, Period2> >::type
@@ -2363,7 +2432,7 @@
 __returns `__duration__<CR, Period>(d) *= s`.
 
 [endsect]
-[section:duration_operator_prod_1 Non-Member function `operator*(Rep1,duration)`]
+[section:duration_operator_prod_1 Non-Member Function `operator*(Rep1,duration)`]
 
     template <class Rep1, class Period, class Rep2>
     __duration__<typename __common_type__<Rep1, Rep2>::type, Period>
@@ -2374,7 +2443,7 @@
 __returns `d * s`.
 
 [endsect]
-[section:duration_operator_d_1 Non-Member function `operator/(duration,Rep2)`]
+[section:duration_operator_d_1 Non-Member Function `operator/(duration,Rep2)`]
 
     template <class Rep1, class Period, class Rep2>
     __duration__<typename __common_type__<Rep1, Rep2>::type, Period>
@@ -2385,7 +2454,7 @@
 __returns `__duration__<CR, Period>(d) /= s`.
 
 [endsect]
-[section:duration_operator_d_2 Non-Member function `operator/(duration,duration)`]
+[section:duration_operator_d_2 Non-Member Function `operator/(duration,duration)`]
 
     template <class Rep1, class Period1, class Rep2, class Period2>
     typename __common_type__<Rep1, Rep2>::type
@@ -2395,19 +2464,21 @@
 
 [endsect]
 
-[section:duration_operator_d_3 Non-Member function `operator/(Rep1,duration)`]
+[section:duration_operator_d_3 Non-Member Function `operator/(Rep1,duration)`]
+
+This overloading could be used to get the frequency of an event counted by `Rep1`.
 
     template <class Rep1, class Rep2, class Period>
     double operator/(const Rep1& s, const __duration__<Rep2, Period>& d);
 
 __remarks Let `CR` represent the __common_type__ of `Rep1` and `Rep2`. This function will not participate in overload resolution unless both `Rep1` and `Rep2` are implicitly convertible to `CR`, and `Rep1` is not an instantiation of __duration__.
 
-__returns `CR(s)/__duration__<CR, Period>(d)`.
+__returns `CR(s)/__duration__<CR, Period>(d).count()`.
 
 [endsect]
 
 
-[section:duration_operator_mod_1 Non-Member function `operator%(duration,Rep2)`]
+[section:duration_operator_mod_1 Non-Member Function `operator%(duration,Rep2)`]
 
   template <class Rep1, class Period, class Rep2>
   __duration__<typename __common_type__<Rep1, Rep2>::type, Period>
@@ -2418,7 +2489,7 @@
 __returns __duration__<CR(Rep1,Rep2), Period>(d) %= s.
 [endsect]
 
-[section:duration_operator_mod_2 Non-Member function `operator%(duration,duration)`]
+[section:duration_operator_mod_2 Non-Member Function `operator%(duration,duration)`]
 
   template <class Rep1, class Period1, class Rep2, class Period2>
   typename __common_type__<__duration__<Rep1, Period1>, __duration__<Rep2, Period2> >::type
@@ -2432,9 +2503,9 @@
 [endsect]
 [endsect]
 
-[section `duration` Non-Member comparaisons]
+[section `duration` Non-Member Comparaisons]
 
-[section:duration_operator_eq_1 Non-Member function `operator==(duration,duration)`]
+[section:duration_operator_eq_1 Non-Member Function `operator==(duration,duration)`]
 
     template <class Rep1, class Period1, class Rep2, class Period2>
     bool operator==(const __duration__<Rep1, Period1>& lhs,
@@ -2443,7 +2514,7 @@
 __returns Let `CD` represent the __common_type__ of the two __duration__ arguments. Returns `CD(lhs).count() == CD(rhs).count()`
 
 [endsect]
-[section:duration_operator_neq_1 Non-Member function `operator!=(duration,duration)`]
+[section:duration_operator_neq_1 Non-Member Function `operator!=(duration,duration)`]
 
     template <class Rep1, class Period1, class Rep2, class Period2>
     bool operator!=(const __duration__<Rep1, Period1>& lhs,
@@ -2452,7 +2523,7 @@
 __returns `!(lhs == rhs)`.
 
 [endsect]
-[section:duration_operator_lt_1 Non-Member function `operator<(duration,duration)`]
+[section:duration_operator_lt_1 Non-Member Function `operator<(duration,duration)`]
 
     template <class Rep1, class Period1, class Rep2, class Period2>
     bool operator< (const __duration__<Rep1, Period1>& lhs,
@@ -2461,7 +2532,7 @@
 __returns Let `CD` represent the __common_type__ of the two __duration__ arguments. Returns `CD(lhs).count() < CD(rhs).count()`
 
 [endsect]
-[section:duration_operator_leq_1 Non-Member function `operator<=(duration,duration)`]
+[section:duration_operator_leq_1 Non-Member Function `operator<=(duration,duration)`]
 
     template <class Rep1, class Period1, class Rep2, class Period2>
     bool operator<=(const __duration__<Rep1, Period1>& lhs,
@@ -2470,7 +2541,7 @@
 __returns `!(rhs < lhs)`.
 
 [endsect]
-[section:duration_operator_gt_1 Non-Member function `operator>(duration,duration)`]
+[section:duration_operator_gt_1 Non-Member Function `operator>(duration,duration)`]
 
     template <class Rep1, class Period1, class Rep2, class Period2>
     bool operator> (const __duration__<Rep1, Period1>& lhs,
@@ -2479,7 +2550,7 @@
 __returns `rhs < lhs`.
 
 [endsect]
-[section:duration_operator_gteq_1 Non-Member function `operator>=(duration,duration)`]
+[section:duration_operator_gteq_1 Non-Member Function `operator>=(duration,duration)`]
 
     template <class Rep1, class Period1, class Rep2, class Period2>
     bool operator>=(const __duration__<Rep1, Period1>& lhs,
@@ -2489,7 +2560,7 @@
 
 [endsect]
 [endsect]
-[section:duration_cast Non-Member function `duration_cast(duration)`]
+[section:duration_cast Non-Member Function `duration_cast(duration)`]
 
     template <class ToDuration, class Rep, class Period>
     ToDuration duration_cast(const __duration__<Rep, Period>& d);
@@ -2543,7 +2614,7 @@
     [[`C1::period`] [`ratio`] [The tick period of the clock in seconds.]]
     [[`C1::duration`] [`chrono::duration<C1::rep, C1::period>`] [The __duration__ type of the `clock`.]]
     [[`C1::time_point`] [`chrono::time_point<C1> or chrono::time_point<C2, C1::duration>`] [The __time_point__ type of the `clock`. Different clocks are permitted to share a __time_point__ definition if it is valid to compare their time_points by comparing their respective __duration_s__. `C1` and `C2` must refer to the same epoch.]]
- [[`C1::is_monotonic`] [`const bool`] [`true` if `t1 <= t2` is always `true`, else `false`. *Note*: A `clock` that can be adjusted backwards is not monotonic]]
+ [[`C1::is_monotonic`] [`constexpr bool`] [`true` if `t1 <= t2` is always `true`, else `false`. *Note*: A `clock` that can be adjusted backwards is not monotonic]]
     [[`C1::now()`] [`C1::time_point`] [Returns a __time_point__ representing the current point in time.]]
 ]
 
@@ -2564,7 +2635,7 @@
 [section:time_point_hpp Header `<boost/chrono/time_point.hpp>`]
 [/=============================================]
 
-This file contains time_point specific classes and non-member function.
+This file contains __time_point__ specific classes and non-member functions.
 
     namespace boost {
       namespace chrono {
@@ -2573,8 +2644,8 @@
 
       }
       template <class Clock, class Duration1, class Duration2>
- struct __common_type_spe__<__time_point__<Clock, Duration1>,
- __time_point__<Clock, Duration2> >;
+ struct __common_type_spe__<time_point<Clock, Duration1>,
+ time_point<Clock, Duration2> >;
 
       namespace chrono {
 
@@ -2598,27 +2669,27 @@
 
         // time_point comparisons
         template <class Clock, class Duration1, class Duration2>
- bool operator==(const time_point<Clock, Duration1>& lhs,
+ constexpr bool operator==(const time_point<Clock, Duration1>& lhs,
                         const time_point<Clock, Duration2>& rhs);
         template <class Clock, class Duration1, class Duration2>
- bool operator!=(const time_point<Clock, Duration1>& lhs,
+ constexpr bool operator!=(const time_point<Clock, Duration1>& lhs,
                         const time_point<Clock, Duration2>& rhs);
         template <class Clock, class Duration1, class Duration2>
- bool operator< (const time_point<Clock, Duration1>& lhs,
+ constexpr bool operator< (const time_point<Clock, Duration1>& lhs,
                         const time_point<Clock, Duration2>& rhs);
         template <class Clock, class Duration1, class Duration2>
- bool operator<=(const time_point<Clock, Duration1>& lhs,
+ constexpr bool operator<=(const time_point<Clock, Duration1>& lhs,
                         const time_point<Clock, Duration2>& rhs);
         template <class Clock, class Duration1, class Duration2>
- bool operator> (const time_point<Clock, Duration1>& lhs,
+ constexpr bool operator> (const time_point<Clock, Duration1>& lhs,
                         const time_point<Clock, Duration2>& rhs);
         template <class Clock, class Duration1, class Duration2>
- bool operator>=(const time_point<Clock, Duration1>& lhs,
+ constexpr bool operator>=(const time_point<Clock, Duration1>& lhs,
                         const time_point<Clock, Duration2>& rhs);
 
         // time_point_cast
         template <class ToDuration, class Clock, class Duration>
- time_point<Clock, ToDuration> time_point_cast(const time_point<Clock, Duration>& t);
+ constexpr time_point<Clock, ToDuration> __time_point_cast__(const time_point<Clock, Duration>& t);
 
       }
     }
@@ -2650,8 +2721,8 @@
     private:
         duration d_; // exposition only
     public:
- time_point();
- explicit time_point(const duration& d);
+ constexpr time_point();
+ constexpr explicit time_point(const duration& d);
 
         // conversions
         template <class Duration2>
@@ -2659,7 +2730,7 @@
 
         // observer
 
- duration time_since_epoch() const;
+ constexpr duration time_since_epoch() const;
 
         // arithmetic
 
@@ -2668,8 +2739,8 @@
 
         // special values
 
- static BOOST_CHRONO_CONSTEXPR time_point min();
- static BOOST_CHRONO_CONSTEXPR time_point max();
+ static constexpr time_point min();
+ static constexpr time_point max();
     };
 
 Clock must meet the __clock_req__.
@@ -2678,19 +2749,19 @@
 
 [section:time_point_c_1 Constructor `time_point()`]
 
- time_point();
+ constexpr time_point();
 
 __effects Constructs an object of __time_point__, initializing `d_` with `duration::zero()`. This __time_point__ represents the epoch.
 
 [endsect]
 [section:time_point_c_2 Constructor `time_point(const duration&)`]
 
- time_point(const duration& d);
+ constexpr time_point(const duration& d);
 
 __effects Constructs an object of __time_point__, initializing `d_` with `d`. This __time_point__ represents the epoch `+ d`.
 
 [endsect]
-[section:time_point_c_3 Constructor `time_point(const duration&)`]
+[section:time_point_c_3 Copy Constructor `time_point(const time_point&)`]
 
     template <class Duration2> time_point(const __time_point__<clock, Duration2>& t);
 
@@ -2700,14 +2771,14 @@
 
 [endsect]
 
-[section:time_since_epoch Member function `time_since_epoch() const`]
+[section:time_since_epoch Member Function `time_since_epoch() const`]
 
- duration time_since_epoch() const;
+ constexpr duration time_since_epoch() const;
 
 __returns `d_`.
 
 [endsect]
-[section:time_point_operator_pe Member function `operator+=`]
+[section:time_point_operator_pe Member Function `operator+=`]
 
     time_point& operator+=(const duration& d);
 
@@ -2716,7 +2787,7 @@
 __returns `*this`.
 
 [endsect]
-[section:time_point_operator_me Member function `operator-=`]
+[section:time_point_operator_me Member Function `operator-=`]
 
     time_point& operator-=(const duration& d);
 
@@ -2725,16 +2796,16 @@
 __returns `*this`.
 
 [endsect]
-[section:time_point_min Static Member function `min`]
+[section:time_point_min Static Member Function `min`]
 
- static BOOST_CHRONO_CONSTEXPR time_point min();
+ static constexpr time_point min();
 
 __returns `time_point(duration::min())`.
 
 [endsect]
-[section:time_point_max Static Member function `max`]
+[section:time_point_max Static Member Function `max`]
 
- static BOOST_CHRONO_CONSTEXPR time_point max();
+ static constexpr time_point max();
 
 __returns `time_point(duration::max())`.
 
@@ -2745,7 +2816,7 @@
 [section `time_point` non-member arithmetic]
 
 
-[section:time_point_operator_p_1 Non-Member function `operator+(time_point,duration)`]
+[section:time_point_operator_p_1 Non-Member Function `operator+(time_point,duration)`]
 
     template <class Clock, class Duration1, class Rep2, class Period2>
     __time_point__<Clock, typename __common_type__<Duration1, duration<Rep2, Period2> >::type>
@@ -2755,7 +2826,7 @@
 __returns `CT(lhs) += rhs` where `CT` is the type of the return value.
 
 [endsect]
-[section:time_point_operator_p_2 Non-Member function `operator+(duration,time_point)`]
+[section:time_point_operator_p_2 Non-Member Function `operator+(duration,time_point)`]
 
     template <class Rep1, class Period1, class Clock, class Duration2>
     __time_point__<Clock, typename __common_type__<duration<Rep1, Period1>, Duration2>::type>
@@ -2765,7 +2836,7 @@
 __returns `rhs + lhs`.
 
 [endsect]
-[section:time_point_operator_m_1 Non-Member function `operator-(time_point,duration)`]
+[section:time_point_operator_m_1 Non-Member Function `operator-(time_point,duration)`]
 
     template <class Clock, class Duration1, class Rep2, class Period2>
     __time_point__<Clock, typename __common_type__<Duration1, duration<Rep2, Period2> >::type>
@@ -2775,7 +2846,7 @@
 __returns `lhs + (-rhs)`.
 
 [endsect]
-[section:time_point_operator_m_2 Non-Member function `operator-(duration,time_point)`]
+[section:time_point_operator_m_2 Non-Member Function `operator-(time_point,time_point)`]
 
     template <class Clock, class Duration1, class Duration2>
     typename __common_type__<Duration1, Duration2>::type
@@ -2788,7 +2859,7 @@
 [endsect]
 
 [section `time_point` non-member comparisons]
-[section:time_point_operator_eq Non-Member function `operator==(time_point,time_point)`]
+[section:time_point_operator_eq Non-Member Function `operator==(time_point,time_point)`]
 
     template <class Clock, class Duration1, class Duration2>
     bool operator==(const __time_point__<Clock, Duration1>& lhs,
@@ -2797,7 +2868,7 @@
 __returns `lhs.time_since_epoch() == rhs.time_since_epoch()`.
 
 [endsect]
-[section:time_point_operator_neq Non-Member function `operator!=(time_point,time_point)`]
+[section:time_point_operator_neq Non-Member Function `operator!=(time_point,time_point)`]
 
 template <class Clock, class Duration1, class Duration2>
    bool operator!=(const __time_point__<Clock, Duration1>& lhs,
@@ -2806,7 +2877,7 @@
 __returns `!(lhs == rhs)`.
 
 [endsect]
-[section:time_point_operator_lt Non-Member function `operator<(time_point,time_point)`]
+[section:time_point_operator_lt Non-Member Function `operator<(time_point,time_point)`]
 
     template <class Clock, class Duration1, class Duration2>
     bool operator< (const __time_point__<Clock, Duration1>& lhs,
@@ -2815,7 +2886,7 @@
 __returns lhs.time_since_epoch() < rhs.time_since_epoch().
 
 [endsect]
-[section:time_point_operator_leq Non-Member function `operator<=(time_point,time_point)`]
+[section:time_point_operator_leq Non-Member Function `operator<=(time_point,time_point)`]
 
     template <class Clock, class Duration1, class Duration2>
     bool operator<=(const __time_point__<Clock, Duration1>& lhs,
@@ -2824,7 +2895,7 @@
 __returns `!(rhs < lhs)`.
 
 [endsect]
-[section:time_point_operator_gt Non-Member function `operator>(time_point,time_point)`]
+[section:time_point_operator_gt Non-Member Function `operator>(time_point,time_point)`]
 
 template <class Clock, class Duration1, class Duration2>
    bool operator>(const __time_point__<Clock, Duration1>& lhs,
@@ -2833,7 +2904,7 @@
 __returns `rhs < lhs`.
 
 [endsect]
-[section:time_point_operator_geq Non-Member function `operator>=(time_point,time_point)`]
+[section:time_point_operator_geq Non-Member Function `operator>=(time_point,time_point)`]
 
     template <class Clock, class Duration1, class Duration2>
     bool operator>=(const __time_point__<Clock, Duration1>& lhs,
@@ -2845,14 +2916,14 @@
 [endsect]
 
 
-[section:time_point_cast Non-Member function `time_point_cast(time_point)`]
+[section:time_point_cast Non-Member Function `time_point_cast(time_point)`]
 
     template <class ToDuration, class Clock, class Duration>
- __time_point__<Clock, ToDuration> time_point_cast(const __time_point__<Clock, Duration>& t);
+ __time_point__<Clock, ToDuration> __time_point_cast__(const __time_point__<Clock, Duration>& t);
 
 __requires This function will not participate in overload resolution unless `ToDuration` is an instantiation of __duration__.
 
-__returns `__time_point__<Clock, ToDuration>(duration_cast<ToDuration>(t.time_since_epoch()))`.
+__returns `__time_point__<Clock, ToDuration>(__duration_cast__<ToDuration>(t.time_since_epoch()))`.
 
 [endsect]
 
@@ -2878,40 +2949,48 @@
 
 [section:system_clock Class `system_clock`]
 
-The `system_clock` class provides a means of obtaining the current wall-clock time from the system-wide real-time clock. The current time can be obtained by calling `system_clock::now()`. Instances of `system_clock::time_point` can be converted to and from time_t with the `system_clock::to_time_t()` and `system_clock::to_time_point()` functions. If system clock is not monotonic, a subsequent call to `system_clock::now()` may return an earlier time than a previous call (e.g. if the operating system clock is manually adjusted, or synchronized with an external clock).
+The __system_clock__ class provides a means of obtaining the current wall-clock time from the system-wide real-time clock. The current time can be obtained by calling `system_clock::now()`. Instances of `system_clock::time_point` can be converted to and from time_t with the `system_clock::to_time_t()` and `system_clock::to_time_point()` functions. If system clock is not monotonic, a subsequent call to `system_clock::now()` may return an earlier time than a previous call (e.g. if the operating system clock is manually adjusted, or synchronized with an external clock).
+
+The current implementation of __system_clock__ is related an epoch (midnight UTC of January 1, 1970), but this is not in the contract. You need to use the static function static
+
+ std::time_t to_time_t(const time_point& t);
+
+which returns a `time_t` type that is based on midnight UTC of January 1, 1970.
 
     class system_clock {
     public:
- typedef BOOST_SYSTEM_CLOCK_DURATION duration;
+ typedef __see_bellow__ duration;
         typedef duration::rep rep;
         typedef duration::period period;
         typedef chrono::time_point<system_clock> time_point;
- static const bool is_monotonic = false;
+ static constexpr bool is_monotonic = false;
 
         static time_point now(); // throws on error
         static time_point now(system::error_code & ec); // never throws
 
+ // Map to C API
         static std::time_t to_time_t(const time_point& t);
         static time_point from_time_t(std::time_t t);
     };
 
-`system_clock` satisfy the __clock_req__:
+__system_clock__ satisfy the __clock_req__:
 
 * `system_clock::duration::min() < system_clock::duration::zero()` is `true`.
 
+* The nested duration typedef has a resolution that depends on the one provided by the platform.
 
-[section:to_time_t Static member function `to_time_t(time_point)`]
+[section:to_time_t Static Member Function `to_time_t(time_point)`]
 
 time_t to_time_t(const time_point& t);
 
 __returns A `time_t` such that the `time_t` and `t` represent the same point in time, truncated to the courser of the precisions among `time_t` and `t`.
 
 [endsect]
-[section:from_time_t Static member function `from_time_t(time_t)`]
+[section:from_time_t Static Member Function `from_time_t(time_t)`]
 
     time_point from_time_t(time_t t);
 
-__returns A __time_point__ such that the __time_point__ and `t` represent the same point in time, truncated to the courser of the precisions among __time_point__ and `t`.
+__returns A __time_point__ such that the __time_point__ and `t` represent the same point in time, truncated to the coarser of the precisions among __time_point__ and `t`.
 
 [endsect]
 [endsect]
@@ -2929,13 +3008,13 @@
 __monotonic_clock__ class provides access to the system-wide monotonic clock. The current time can be obtained by calling `monotonic_clock::now()`. There is no fixed relationship between values returned by `monotonic_clock::now()` and wall-clock time.
 
     #ifdef BOOST_HAS_CLOCK_MONOTONIC
- class BOOST_CHRONO_DECL monotonic_clock {
+ class monotonic_clock {
         public:
             typedef nanoseconds duration;
             typedef duration::rep rep;
             typedef duration::period period;
             typedef chrono::time_point<monotonic_clock> time_point;
- static const bool is_monotonic = true;
+ static constexpr bool is_monotonic = true;
 
             static time_point now(); // throws on error
             static time_point now(system::error_code & ec); // never throws
@@ -2948,12 +3027,12 @@
 
 [section:high_resolution_clock Class `high_resolution_clock`]
 
-`high_resolution_clock` satisfy the __clock_req__.
+__high_resolution_clock__ satisfy the __clock_req__.
 
     #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef monotonic_clock high_resolution_clock; // as permitted by [time.clock.hires]
+ typedef __monotonic_clock__ high_resolution_clock; // as permitted by [time.clock.hires]
     #else
- typedef system_clock high_resolution_clock; // as permitted by [time.clock.hires]
+ typedef __system_clock__ high_resolution_clock; // as permitted by [time.clock.hires]
     #endif
 
 [endsect]
@@ -2964,7 +3043,7 @@
 [section:chrono_typeof_hpp Header `<boost/chrono/typeof/boost/chrono/chrono.hpp>`]
 [/=============================================]
 
-Register __duration__`<>` and __timepoint__`<>` class templates to Boost.Typeof.
+Register __duration__`<>` and __time_point__`<>` class templates to [*Boost.Typeof].
 
 [endsect]
 [endsect]
@@ -3016,9 +3095,9 @@
     }
     }
 
-[section:duration_punct Template class `duration_punct<>`]
+[section:duration_punct Template Class `duration_punct<>`]
 
-The __duration__ unit names can be customized through the facet: __duration_punct__. __duration__ unit names come in two varieties: long and short. The default constructed __duration_punct__ provides names in the long format. These names are English descriptions. Other languages are supported by constructing a __duration_punct__ with the proper spellings for hours, "minutes" and "seconds", and their abbreviations (for the short format).
+The __duration__ unit names can be customized through the facet: __duration_punct__. __duration__ unit names come in two varieties: long and short. The default constructed __duration_punct__ provides names in the long format. These names are English descriptions. Other languages are supported by constructing a __duration_punct__ with the proper spellings for "hours", "minutes" and "seconds", and their abbreviations (for the short format).
 
         template <class CharT>
         class duration_punct
@@ -3049,7 +3128,7 @@
 
 [endsect]
 
-[section:clock_string Template class `clock_string<>`]
+[section:clock_string Template Class `clock_string<>`]
 
     template <class Clock, class CharT>
     struct clock_string;
@@ -3065,7 +3144,7 @@
 
 [endsect]
 
-[section:clock_string_system_clock `clock_string<system_clock>` specialization]
+[section:clock_string_system_clock `clock_string<system_clock>` Specialization]
 
     template <class CharT>
     struct clock_string<system_clock, CharT>
@@ -3080,7 +3159,7 @@
 
 [endsect]
 
-[section:clock_string_monotonic_clock `clock_string<monotonic_clock>` specialization]
+[section:clock_string_monotonic_clock `clock_string<monotonic_clock>` Specialization]
 
     #ifdef BOOST_CHRONO_HAS_CLOCK_MONOTONIC
 
@@ -3097,7 +3176,7 @@
 
 [endsect]
 
-[section:clock_string_thread_clock `clock_string<thread_clock>` specialization]
+[section:clock_string_thread_clock `clock_string<thread_clock>` Specialization]
 
     #if defined(BOOST_CHRONO_HAS_THREAD_CLOCK)
     template <class CharT>
@@ -3114,7 +3193,7 @@
 
 [endsect]
 
-[section:clock_string_process_real_cpu_clock `clock_string<process_real_cpu_clock>` specialization]
+[section:clock_string_process_real_cpu_clock `clock_string<process_real_cpu_clock>` Specialization]
 
     template <class CharT>
     struct clock_string<process_real_cpu_clock, CharT>
@@ -3128,7 +3207,7 @@
 
 [endsect]
 
-[section:clock_string_process_user_cpu_clock `clock_string<process_user_cpu_clock>` specialization]
+[section:clock_string_process_user_cpu_clock `clock_string<process_user_cpu_clock>` Specialization]
 
     template <class CharT>
     struct clock_string<process_user_cpu_clock, CharT>
@@ -3143,7 +3222,7 @@
 
 [endsect]
 
-[section:clock_string_process_system_cpu_clock `clock_string<process_system_cpu_clock>` specialization]
+[section:clock_string_process_system_cpu_clock `clock_string<process_system_cpu_clock>` Specialization]
 
     template <class CharT>
     struct clock_string<process_system_cpu_clock, CharT>
@@ -3158,7 +3237,7 @@
 
 [endsect]
 
-[section:clock_string_process_cpu_clock `clock_string<process_cpu_clock>` specialization]
+[section:clock_string_process_cpu_clock `clock_string<process_cpu_clock>` Specialization]
 
     template <class CharT>
     struct clock_string<process_cpu_clock, CharT>
@@ -3181,7 +3260,7 @@
             std::basic_ostream<CharT, Traits>&
             duration_short(std::basic_ostream<CharT, Traits>& os);
 
-__effects Set the __duration_punct__ facet to stream durations and time_points as abreviations.
+__effects Set the __duration_punct__ facet to stream __durations__ and __time_points__ as abreviations.
 
 __returns the output stream
 
@@ -3197,7 +3276,7 @@
 
 [endsect]
 
-[section:streams I/O Streams operations]
+[section:streams I/O Streams Operations]
 
 Any __duration__ can be streamed out to a `basic_ostream`. The run time value of the __duration__ is formatted according to the rules and current format settings for __duration__`::rep`. This is followed by a single space and then the compile time unit name of the __duration__. This unit name is built on the string returned from `ratio_string<>` and the data used to construct the __duration_punct__ which was inserted into the stream's locale. If a __duration_punct__ has not been inserted into the stream's locale, a default constructed __duration_punct__ will be added to the stream's locale.
 
@@ -3244,7 +3323,7 @@
 [endsect]
 [endsect]
 
-[section:other_clocks Other clocks]
+[section:other_clocks Other Clocks]
 
 [/==================================================================]
 [section:process_cpu_clocks_hpp Header `<boost/chrono/process_cpu_clocks.hpp>`]
@@ -3252,6 +3331,8 @@
 
 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.
 
+Process clocks don't include the time spent by the child process.
+
     namespace boost { namespace chrono {
 
         class process_real_cpu_clock;
@@ -3290,7 +3371,7 @@
             typedef duration::rep rep;
             typedef duration::period period;
             typedef chrono::time_point<process_real_cpu_clock> time_point;
- static const bool is_monotonic = true;
+ static constexpr bool is_monotonic = true;
 
             static time_point now( system::error_code & ec = system::throws );
         };
@@ -3309,7 +3390,7 @@
             typedef duration::rep rep;
             typedef duration::period period;
             typedef chrono::time_point<process_user_cpu_clock> time_point;
- static const bool is_monotonic = true;
+ static constexpr bool is_monotonic = true;
 
             static time_point now( system::error_code & ec = system::throws );
         };
@@ -3329,7 +3410,7 @@
             typedef duration::rep rep;
             typedef duration::period period;
             typedef chrono::time_point<process_system_cpu_clock> time_point;
- static const bool is_monotonic = true;
+ static constexpr bool is_monotonic = true;
 
             static time_point now( system::error_code & ec = system::throws );
         };
@@ -3354,7 +3435,7 @@
         typedef duration::rep rep;
         typedef duration::period period;
         typedef chrono::time_point<process_cpu_clock> time_point;
- static const bool is_monotonic = true;
+ static constexpr bool is_monotonic = true;
 
         static time_point now( system::error_code & ec = system::throws );
     };
@@ -3390,7 +3471,7 @@
 
 [endsect]
 
-[section:times_io `process_cpu_clock::times` input/output]
+[section:times_io `process_cpu_clock::times` Input/Output]
 
     template <class CharT, class Traits>
     std::basic_ostream<CharT, Traits>&
@@ -3411,7 +3492,7 @@
 
 [endsect]
 
-[section:times_duration_values `duration_values` specialization for `times`]
+[section:times_duration_values `duration_values` Specialization for `times`]
 
     template <>
     struct __duration_values__<process_cpu_clock::times>
@@ -3425,7 +3506,7 @@
 
 [endsect]
 
-[section:times_numeric_limits `numeric_limits` specialization for `times`]
+[section:times_numeric_limits `numeric_limits` Specialization for `times`]
 
     namespace std {
         template <>
@@ -3498,7 +3579,7 @@
             typedef duration::rep rep;
             typedef duration::period period;
             typedef chrono::time_point<thread_clock> time_point;
- static const bool is_monotonic = BOOST_CHRONO_THREAD_CLOCK_IS_MONOTONIC;
+ static constexpr bool is_monotonic = BOOST_CHRONO_THREAD_CLOCK_IS_MONOTONIC;
 
             static time_point now( system::error_code & ec = system::throws );
         };
@@ -3512,10 +3593,10 @@
 
 [endsect]
 
-
+[/
 [section:deprecated Deprecated Headers]
 
-See Boost.Stopwatches for similar fonctionality.
+See Boost.Stopwatches for similar functionality.
 
 [/==================================================]
 [section:timer_hpp Deprecated Header `<boost/chrono/timer.hpp>`]
@@ -3612,7 +3693,7 @@
             typedef duration::rep rep;
             typedef duration::period period;
             typedef chrono::__time_point__<process_clock> time_point;
- static const bool is_monotonic = true;
+ static constexpr bool is_monotonic = true;
 
             struct process_times;
             static void now( process_times & times,
@@ -3660,7 +3741,7 @@
 [endsect]
 [section:run_timer Class `run_timer`]
 
-class `run_timer` provides a complete run time reporting package that can be invoked in a single line of code. The reporting is controled by two parameters:
+class `run_timer` provides a complete run time reporting package that can be invoked in a single line of code. The reporting is controlled by two parameters:
 
 * format : The output format
 * places(precision): the number of decimal placess used.
@@ -3720,6 +3801,7 @@
 [endsect]
 
 [endsect]
+]
 
 [endsect]
 
@@ -3732,7 +3814,13 @@
 [section:history Appendix A: History]
 [/==================================]
 
+[/
+[section [*Version 1.0.0, December 31, 2010] ]
+
+First version released on Boost.
 
+[endsect]
+]
 [/
 [section [*Version 0.7.0, October 30, 2010] ]
 
@@ -3994,7 +4082,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_CHRONO_CONSTEXPR when constexpr should be used.
+* Added constexpr when constexpr should be used.
 * Complete __duration__ `operator*` and `operator/`.
 
 
@@ -4030,7 +4118,7 @@
     * Class template __duration__
     * Class template __time_point__
     * Clocks:
- * `system_clock`
+ * __system_clock__
         * __monotonic_clock__
         * `high_resolution_clock`
 
@@ -4052,7 +4140,7 @@
 [/======================================]
 [section:rationale Appendix B: Rationale]
 
-See [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2661.htm [*N2661 - A Foundation to Sleep On]] which is very informative and provides motivation for key design decisions. The following sections are an extract from this document.
+See [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2661.htm [*N2661 - A Foundation to Sleep On]] which is very informative and provides motivation for key design decisions. This section contains some extracts from this document.
 
 [heading Is it possible for the user to pass a __duration__ to a function with the units being ambiguous?]
 
@@ -4082,54 +4170,46 @@
               {}
     };
 
-[heading Why ratio needs CopyConstruction and Assignment from ratios having the same normalized form]
-
-Current [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n3000.pdf [*N3000]] doesn't allows to copy-construct or assign `ratio` instances of `ratio` classes having the same normalized form.
-
-This simple example
-
- __ratio__<1,3> r1;
- __ratio__<3,9> r2;
- r1 = r2; // (1)
-
-fails to compile in (1). Other example
-
- __ratio__<1,3> r1;
- ratio_substract<__ratio__<2,3>,__ratio__<1,3> > r2=r1; // (2)
-
-The type of `ratio_substract<__ratio__<2,3>,__ratio__<1,3> >` could be `__ratio__<3,9>` so the compilation could fail in (2). It could also be `__ratio__<1,3>` and the compilation succeeds.
-
-[heading Why ratio needs the nested normalizer typedef type]
-
-In [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n3000.pdf [*N3000]] 20.4.2 and similar clauses
-
-['3 The nested typedef type shall be a synonym for __ratio__<T1, T2> where T1 has the value R1::num * R2::den - R2::num * R1::den and T2 has the value R1::den * R2::den.]
-
-The meaning of synonym let think that the result should be a normalized ratio equivalent to `__ratio__<T1, T2>`, but there is not an explicit definition of what synonym means in this context.
-
-If the CopyConstruction and Assignment ([[@http://home.roadrunner.com/~hinnant/issue_review/lwg-active.html#12811281 [*LWG 1281]]) is not added we need a typedef for accessing the normalized ratio, and change 20.4.2 to return only this normalized result. In this case the user will need to
-
- __ratio__<1,3>::type r1;
- __ratio__<3,9>::type r2;
- r1 = r2; // compiles as both types are the same.
-
 [endsect]
 
 
 [/======================================================]
 [section:implementation Appendix C: Implementation Notes]
 
+[heading Which APIs have been chosen to implement each clock on each platform?]
 
+The following table presents a resume of which API is uused for each clock on each platform
+[table Clock API correspondence
+ [[Clock] [Windows Platform] [Posix Platform] [Mac Platform] ]
+ [[__system_clock__] [GetSystemTimeAsFileTime] [clock_gettime( CLOCK_REALTIME)] [gettimeofday] ]
+ [[__monotonic_clock__] [QueryPerformanceCounter and QueryPerformanceFrequency]
+ [clock_gettime( CLOCK_MONOTONIC)] [mach_timebase_info,mach_absolute_time] ]
+ [[__process_real_cpu_clock__] [GetProcessTimes] [times] [times] ]
+ [[__process_system_cpu_clock__] [GetProcessTimes] [times] [times] ]
+ [[__process_user_cpu_clock__] [GetProcessTimes] [times] [times] ]
+ [[__process_cpu_clock__] [GetProcessTimes] [times] [times] ]
+ [[__thread_clock__] [GetThreadTimes] [clock_gettime(pthread_getcpuclockid)] [pthread_getcpuclockid] ]
+]
 
 [endsect]
 
 [/======================================================]
 [section:faq Appendix D: FAQ]
 
-[heading Why does process_cpu_clock sometimes gives more cpu seconds than real seconds?]
+[heading Why does process_cpu_clock sometimes give more cpu seconds than real seconds?]
 
 Ask your operating system supplier. The results have been inspected with a debugger, and both for Windows and Linux, that's what the OS appears to be reporting at times.
 
+
+[heading Are integer overflows in the duration arithmetic detected and reported?]
+
+[*Boost.Ratio] avoids all kind of overflow that could result of arithmetic operation and that can be simplified. The typedefs durations don't detect overflow. You will need a representation that handles with.
+
+[heading What clock should be used to benchmarking?]
+
+Each clock has his own features. It depends on what do you need to benchmark. Most of the time, you could be interested in using a thread clock, but if you need to measure code subject to synchronization a process clock would be better. If you have a multi-process application, a system-wide clock will be needed.
+
+
 [endsect]
 
 [/====================================================]
@@ -4143,9 +4223,9 @@
 
 The file <boost/chrono_io.hpp> has been adapted from the experimental header `<chrono_io>` from Howard Hinnant. Thanks for all Howard.
 
-Thanks to Adrew Chinoff for his help polishing the documentation.
+Thanks to Ronald Bock, Adrew Chinoff, Paul A. Bristol and John Bytheway for his help polishing the documentation.
 
-Thanks to Tom Tan for reporting some compiler issues with MSVC V10 beta and MinGW-gcc-4.4.0 and for the many suggestion he did concerning the `process_cpu_clock` class.
+Thanks to Tom Tan for reporting some compiler issues with MSVC V10 beta and MinGW-gcc-4.4.0 and for the many pushing for an homogeneous `process_cpu_clock` clock.
 
 Thanks to Ronald Bock for reporting Valgind issues and for the many suggestion he did concerning the documentation.
 
@@ -4430,7 +4510,7 @@
 
 [heading For later releases]
 
-* Use of C++0x feature constexpr, when available.
+* Implement `steady_clock` if accepted by the standard.
 
 [endsect]
 [endsect]

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-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -4,9 +4,9 @@
 <title>Appendices</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 0.7.0">
-<link rel="up" href="../index.html" title="Boost.Chrono 0.7.0">
-<link rel="prev" href="reference/deprecated.html" title=" Deprecated Headers">
+<link rel="start" href="../index.html" title="Boost.Chrono 0.7.1">
+<link rel="up" href="../index.html" title="Boost.Chrono 0.7.1">
+<link rel="prev" href="reference/other_clocks.html" title=" Other Clocks">
 <link rel="next" href="appendices/history.html" title=" Appendix A: History">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="reference/deprecated.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="appendices/history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reference/other_clocks.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="appendices/history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -47,7 +47,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="reference/deprecated.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="appendices/history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reference/other_clocks.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="appendices/history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/acknowledgements.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/acknowledgements.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/acknowledgements.html 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -5,7 +5,7 @@
       Acknowledgements</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 0.7.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
 <link rel="up" href="../appendices.html" title="Appendices">
 <link rel="prev" href="faq.html" title=" Appendix D: FAQ">
 <link rel="next" href="todo.html" title=" Appendix F: Future plans">
@@ -46,11 +46,12 @@
         header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono_io</span><span class="special">&gt;</span></code> from Howard Hinnant. Thanks for all Howard.
       </p>
 <p>
- Thanks to Adrew Chinoff for his help polishing the documentation.
+ Thanks to Ronald Bock, Adrew Chinoff, Paul A. Bristol and John Bytheway for
+ his help polishing the documentation.
       </p>
 <p>
         Thanks to Tom Tan for reporting some compiler issues with MSVC V10 beta and
- MinGW-gcc-4.4.0 and for the many suggestion he did concerning the <code class="computeroutput"><span class="identifier">process_cpu_clock</span></code> class.
+ MinGW-gcc-4.4.0 and for the many pushing for an homogeneous <code class="computeroutput"><span class="identifier">process_cpu_clock</span></code> clock.
       </p>
 <p>
         Thanks to Ronald Bock for reporting Valgind issues and for the many suggestion

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-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -4,7 +4,7 @@
 <title> Appendix D: FAQ</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 0.7.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
 <link rel="up" href="../appendices.html" title="Appendices">
 <link rel="prev" href="implementation.html" title=" Appendix C:
       Implementation Notes">
@@ -28,16 +28,39 @@
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_chrono.appendices.faq"></a> Appendix D: FAQ
 </h3></div></div></div>
-<a name="boost_chrono.appendices.faq.why_does_process_cpu_clock_sometimes_gives_more_cpu_seconds_than_real_seconds_"></a><h4>
-<a name="id5071453"></a>
- <a href="faq.html#boost_chrono.appendices.faq.why_does_process_cpu_clock_sometimes_gives_more_cpu_seconds_than_real_seconds_">Why
- does process_cpu_clock sometimes gives more cpu seconds than real seconds?</a>
+<a name="boost_chrono.appendices.faq.why_does_process_cpu_clock_sometimes_give_more_cpu_seconds_than_real_seconds_"></a><h4>
+<a name="id5069244"></a>
+ <a href="faq.html#boost_chrono.appendices.faq.why_does_process_cpu_clock_sometimes_give_more_cpu_seconds_than_real_seconds_">Why
+ does process_cpu_clock sometimes give more cpu seconds than real seconds?</a>
       </h4>
 <p>
         Ask your operating system supplier. The results have been inspected with
         a debugger, and both for Windows and Linux, that's what the OS appears to
         be reporting at times.
       </p>
+<a name="boost_chrono.appendices.faq.are_integer_overflows_in_the_duration_arithmetic_detected_and_reported_"></a><h4>
+<a name="id5069276"></a>
+ <a href="faq.html#boost_chrono.appendices.faq.are_integer_overflows_in_the_duration_arithmetic_detected_and_reported_">Are
+ integer overflows in the duration arithmetic detected and reported?</a>
+ </h4>
+<p>
+ <span class="bold"><strong>Boost.Ratio</strong></span> avoids all kind of overflow
+ that could result of arithmetic operation and that can be simplified. The
+ typedefs durations don't detect overflow. You will need a representation
+ that handles with.
+ </p>
+<a name="boost_chrono.appendices.faq.what_clock_should_be_used_to_benchmarking_"></a><h4>
+<a name="id5069313"></a>
+ <a href="faq.html#boost_chrono.appendices.faq.what_clock_should_be_used_to_benchmarking_">What
+ clock should be used to benchmarking?</a>
+ </h4>
+<p>
+ Each clock has his own features. It depends on what do you need to benchmark.
+ Most of the time, you could be interested in using a thread clock, but if
+ you need to measure code subject to synchronization a process clock would
+ be better. If you have a multi-process application, a system-wide clock will
+ be needed.
+ </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

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-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -4,7 +4,7 @@
 <title> Appendix A: History</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 0.7.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
 <link rel="up" href="../appendices.html" title="Appendices">
 <link rel="prev" href="../appendices.html" title="Appendices">
 <link rel="next" href="rationale.html" title=" Appendix B: Rationale">

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/implementation.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/implementation.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/implementation.html 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -5,7 +5,7 @@
       Implementation Notes</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 0.7.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
 <link rel="up" href="../appendices.html" title="Appendices">
 <link rel="prev" href="rationale.html" title=" Appendix B: Rationale">
 <link rel="next" href="faq.html" title=" Appendix D: FAQ">
@@ -23,11 +23,218 @@
 <div class="spirit-nav">
 <a accesskey="p" href="rationale.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="faq.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title">
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
 <a name="boost_chrono.appendices.implementation"></a><a href="implementation.html" title=" Appendix C:
       Implementation Notes"> Appendix C:
       Implementation Notes</a>
-</h3></div></div></div></div>
+</h3></div></div></div>
+<a name="boost_chrono.appendices.implementation.which_apis_have_been_chosen_to_implement_each_clock_on_each_platform_"></a><h4>
+<a name="id5068794"></a>
+ <a href="implementation.html#boost_chrono.appendices.implementation.which_apis_have_been_chosen_to_implement_each_clock_on_each_platform_">Which
+ APIs have been chosen to implement each clock on each platform?</a>
+ </h4>
+<p>
+ The following table presents a resume of which API is uused for each clock
+ on each platform
+ </p>
+<div class="table">
+<a name="boost_chrono.appendices.implementation.clock_api_correspondence"></a><p class="title"><b>Table&#160;2.&#160;Clock API correspondence</b></p>
+<table class="table" summary="Clock API correspondence">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Clock
+ </p>
+ </th>
+<th>
+ <p>
+ Windows Platform
+ </p>
+ </th>
+<th>
+ <p>
+ Posix Platform
+ </p>
+ </th>
+<th>
+ <p>
+ Mac Platform
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ GetSystemTimeAsFileTime
+ </p>
+ </td>
+<td>
+ <p>
+ clock_gettime( CLOCK_REALTIME)
+ </p>
+ </td>
+<td>
+ <p>
+ gettimeofday
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
+ Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ QueryPerformanceCounter and QueryPerformanceFrequency
+ </p>
+ </td>
+<td>
+ <p>
+ clock_gettime( CLOCK_MONOTONIC)
+ </p>
+ </td>
+<td>
+ <p>
+ mach_timebase_info,mach_absolute_time
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="
+ Class process_real_cpu_clock"><code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ GetProcessTimes
+ </p>
+ </td>
+<td>
+ <p>
+ times
+ </p>
+ </td>
+<td>
+ <p>
+ times
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_system_cpu_clock" title="
+ Class process_system_cpu_clock"><code class="computeroutput"><span class="identifier">process_system_cpu_clock</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ GetProcessTimes
+ </p>
+ </td>
+<td>
+ <p>
+ times
+ </p>
+ </td>
+<td>
+ <p>
+ times
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_user_cpu_clock" title="
+ Class process_user_cpu_clock"><code class="computeroutput"><span class="identifier">process_user_cpu_clock</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ GetProcessTimes
+ </p>
+ </td>
+<td>
+ <p>
+ times
+ </p>
+ </td>
+<td>
+ <p>
+ times
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_cpu_clock" title="
+ Class process_cpu_clock"><code class="computeroutput"><span class="identifier">process_cpu_clock</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ GetProcessTimes
+ </p>
+ </td>
+<td>
+ <p>
+ times
+ </p>
+ </td>
+<td>
+ <p>
+ times
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
+ Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ GetThreadTimes
+ </p>
+ </td>
+<td>
+ <p>
+ clock_gettime(pthread_getcpuclockid)
+ </p>
+ </td>
+<td>
+ <p>
+ pthread_getcpuclockid
+ </p>
+ </td>
+</tr>
+</tbody>
+</table>
+</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 &#169; 2008 Howard Hinnant<br>Copyright &#169; 2006 , 2008 Beman Dawes<br>Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>

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-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -4,7 +4,7 @@
 <title> Appendix B: Rationale</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 0.7.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
 <link rel="up" href="../appendices.html" title="Appendices">
 <link rel="prev" href="history.html" title=" Appendix A: History">
 <link rel="next" href="implementation.html" title=" Appendix C:
@@ -28,15 +28,15 @@
 <a name="boost_chrono.appendices.rationale"></a> Appendix B: Rationale
 </h3></div></div></div>
 <p>
- See [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2661.htm <span class="bold"><strong>N2661 - A Foundation to Sleep On</strong></span>] which is very informative
- and provides motivation for key design decisions. The following sections
- are an extract from this document.
- </p>
-<a name="boost_chrono.appendices.rationale.is_it_possible_for_the_user_to_pass_a___link_linkend__boost_chrono_reference_cpp0x_duration_hpp_duration___code__phrase_role__identifier__duration__phrase___code___link__to_a_function_with_the_units_being_ambiguous_"></a><h4>
-<a name="id5069990"></a>
- <a href="rationale.html#boost_chrono.appendices.rationale.is_it_possible_for_the_user_to_pass_a___link_linkend__boost_chrono_reference_cpp0x_duration_hpp_duration___code__phrase_role__identifier__duration__phrase___code___link__to_a_function_with_the_units_being_ambiguous_">Is
+ See N2661 - A Foundation to Sleep On which is
+ very informative and provides motivation for key design decisions. This section
+ contains some extracts from this document.
+ </p>
+<a name="boost_chrono.appendices.rationale.is_it_possible_for_the_user_to_pass_a__link_linkend__boost_chrono_reference_cpp0x_duration_hpp_duration___code__phrase_role__identifier__duration__phrase___code___link__to_a_function_with_the_units_being_ambiguous_"></a><h4>
+<a name="id5068093"></a>
+ <a href="rationale.html#boost_chrono.appendices.rationale.is_it_possible_for_the_user_to_pass_a__link_linkend__boost_chrono_reference_cpp0x_duration_hpp_duration___code__phrase_role__identifier__duration__phrase___code___link__to_a_function_with_the_units_being_ambiguous_">Is
         it possible for the user to pass a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> to a function with the
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> to a function with the
         units being ambiguous?</a>
       </h4>
 <p>
@@ -46,7 +46,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="id5070088"></a>
+<a name="id5068191"></a>
         <a href="rationale.html#boost_chrono.appendices.rationale.why_duration_needs_operator_">Why
         duration needs operator%</a>
       </h4>
@@ -73,63 +73,6 @@
           <span class="special">{}</span>
 <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="id5070668"></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>
- </h4>
-<p>
- Current N3000 doesn't allows to copy-construct or
- assign <code class="computeroutput"><span class="identifier">ratio</span></code> instances of
- <code class="computeroutput"><span class="identifier">ratio</span></code> classes having the
- same normalized form.
- </p>
-<p>
- This simple example
- </p>
-<pre class="programlisting"><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">&gt;</span> <span class="identifier">r1</span><span class="special">;</span>
-<code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">3</span><span class="special">,</span><span class="number">9</span><span class="special">&gt;</span> <span class="identifier">r2</span><span class="special">;</span>
-<span class="identifier">r1</span> <span class="special">=</span> <span class="identifier">r2</span><span class="special">;</span> <span class="comment">// (1)
-</span></pre>
-<p>
- fails to compile in (1). Other example
- </p>
-<pre class="programlisting"><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">&gt;</span> <span class="identifier">r1</span><span class="special">;</span>
-<span class="identifier">ratio_substract</span><span class="special">&lt;</span><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">&gt;,</span><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">r2</span><span class="special">=</span><span class="identifier">r1</span><span class="special">;</span> <span class="comment">// (2)
-</span></pre>
-<p>
- The type of <code class="computeroutput"><span class="identifier">ratio_substract</span><span class="special">&lt;</span><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">&gt;,</span><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">&gt;</span> <span class="special">&gt;</span></code>
- could be <code class="computeroutput"><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">3</span><span class="special">,</span><span class="number">9</span><span class="special">&gt;</span></code> so the
- compilation could fail in (2). It could also be <code class="computeroutput"><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">&gt;</span></code> and the
- compilation succeeds.
- </p>
-<a name="boost_chrono.appendices.rationale.why_ratio_needs_the_nested_normalizer_typedef_type"></a><h4>
-<a name="id5071170"></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>
-<p>
- In N3000 20.4.2 and similar clauses
- </p>
-<p>
- <span class="emphasis"><em>3 The nested typedef type shall be a synonym for <code class="computeroutput"><span class="identifier">ratio</span></code>&lt;T1, T2&gt; where T1 has the value
- R1::num * R2::den - R2::num * R1::den and T2 has the value R1::den * R2::den.</em></span>
- </p>
-<p>
- The meaning of synonym let think that the result should be a normalized ratio
- equivalent to <code class="computeroutput"><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">&gt;</span></code>,
- but there is not an explicit definition of what synonym means in this context.
- </p>
-<p>
- If the CopyConstruction and Assignment ([LWG 1281) is not added we need a typedef for
- accessing the normalized ratio, and change 20.4.2 to return only this normalized
- result. In this case the user will need to
- </p>
-<pre class="programlisting"><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">r1</span><span class="special">;</span>
-<code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">3</span><span class="special">,</span><span class="number">9</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">r2</span><span class="special">;</span>
-<span class="identifier">r1</span> <span class="special">=</span> <span class="identifier">r2</span><span class="special">;</span> <span class="comment">// compiles as both types are the same.
-</span></pre>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></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-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -4,7 +4,7 @@
 <title> Appendix F: Future plans</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 0.7.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
 <link rel="up" href="../appendices.html" title="Appendices">
 <link rel="prev" href="acknowledgements.html" title=" Appendix E:
       Acknowledgements">
@@ -27,12 +27,13 @@
 <a name="boost_chrono.appendices.todo"></a> Appendix F: Future plans
 </h3></div></div></div>
 <a name="boost_chrono.appendices.todo.for_later_releases"></a><h4>
-<a name="id5071592"></a>
+<a name="id5069455"></a>
         <a href="todo.html#boost_chrono.appendices.todo.for_later_releases">For later
         releases</a>
       </h4>
 <div class="itemizedlist"><ul type="disc"><li>
- Use of C++0x feature constexpr, when available.
+ Implement <code class="computeroutput"><span class="identifier">steady_clock</span></code>
+ if accepted by the standard.
           </li></ul></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

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-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -4,9 +4,9 @@
 <title>Overview</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 0.7.0">
-<link rel="up" href="../index.html" title="Boost.Chrono 0.7.0">
-<link rel="prev" href="../index.html" title="Boost.Chrono 0.7.0">
+<link rel="start" href="../index.html" title="Boost.Chrono 0.7.1">
+<link rel="up" href="../index.html" title="Boost.Chrono 0.7.1">
+<link rel="prev" href="../index.html" title="Boost.Chrono 0.7.1">
 <link rel="next" href="overview/motivation.html" title="Motivation">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -38,7 +38,7 @@
         <span class="bold"><strong><span class="emphasis"><em>-- Augustine </em></span></strong></span>
       </p></blockquote></div>
 <a name="boost_chrono.overview.how_to_use_this_documentation"></a><h3>
-<a name="id4948651"></a>
+<a name="id4948681"></a>
       <a href="overview.html#boost_chrono.overview.how_to_use_this_documentation">How to
       Use This Documentation</a>
     </h3>
@@ -87,7 +87,7 @@
     </p>
 <pre class="programlisting"><span class="comment">// Include all of Chrono files
 </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">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
+<span class="keyword">namespace</span> <span class="identifier">bchrono</span><span class="special">=</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
 </pre>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/description.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/description.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/description.html 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -4,10 +4,10 @@
 <title>Description</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 0.7.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
 <link rel="up" href="../overview.html" title="Overview">
 <link rel="prev" href="motivation.html" title="Motivation">
-<link rel="next" href="../users_guide.html" title=" Users'Guide">
+<link rel="next" href="../users_guide.html" title=" User's Guide">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -30,28 +30,27 @@
         The <span class="bold"><strong>Boost.Chrono</strong></span> library provides:
       </p>
 <a name="boost_chrono.overview.description.standard"></a><h4>
-<a name="id4987212"></a>
+<a name="id4949095"></a>
         <a href="description.html#boost_chrono.overview.description.standard">Standard</a>
       </h4>
 <div class="itemizedlist"><ul type="disc">
 <li>
             A means to represent time durations: managed by the generic <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> class . Examples of
- time durations include <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">days</span></code></a>, <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> class . Examples of
+ time durations include days, <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">minutes</span></code></a>, <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">seconds</span></code></a> and <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a>, which can be represented
             with a fixed number of clock ticks per unit. All of these units of time
             duration are united with a generic interface by the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> facility.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> facility.
           </li>
 <li>
             A type for representing points in time: <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>. A <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> represents an epoch
             plus or minus a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. The library leaves
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. The library leaves
             epochs unspecified. A <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> is associated with
             a <span class="emphasis"><em>clock</em></span>.
@@ -64,70 +63,72 @@
           Class high_resolution_clock"><code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a>. A clock
             is a pairing of a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> and <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, and a function which
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, and a function which
             returns a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> representing <span class="emphasis"><em>now</em></span>.
           </li>
 </ul></div>
 <a name="boost_chrono.overview.description.other_clocks"></a><h4>
-<a name="id4987524"></a>
+<a name="id4949391"></a>
         <a href="description.html#boost_chrono.overview.description.other_clocks">Other clocks</a>
       </h4>
 <p>
         To make the timing facilities more generally useful, <span class="bold"><strong>Boost.Chrono</strong></span>
         provides a number of clocks that are thin wrappers around the operating system's
- time APIs, thereby allowing the extraction of read (wall clock) time, user
- CPU time, system CPU time,
+ time APIs, thereby allowing the extraction of wall clock time, user CPU time,
+ system CPU time spent by the process,
       </p>
 <div class="itemizedlist"><ul type="disc">
 <li>
             <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="
           Class process_real_cpu_clock"><code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a>, captures
- real (wall clock) CPU times.
+ wall clock CPU time spent by the current process.
           </li>
 <li>
             <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_user_cpu_clock" title="
           Class process_user_cpu_clock"><code class="computeroutput"><span class="identifier">process_user_cpu_clock</span></code></a>, captures
- user-CPU times.
+ user-CPU time spent by the current process.
           </li>
 <li>
             <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_system_cpu_clock" title="
           Class process_system_cpu_clock"><code class="computeroutput"><span class="identifier">process_system_cpu_clock</span></code></a>, captures
- system-CPU times.
+ system-CPU time spent by the current process.
           </li>
 <li>
- A tuple-like class __process_cpu<span class="underline">clock</span>_,
- that captures real, user-CPU, and system-CPU times together.
+ A tuple-like class <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_cpu_clock" title="
+ Class process_cpu_clock"><code class="computeroutput"><span class="identifier">process_cpu_clock</span></code></a>, that captures
+ real, user-CPU, and system-CPU process times together.
           </li>
 <li>
             A <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
           Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a> thread monotonic
- clock, when supported by a platform.
+ clock giving the time spent by the current threrad( when supported by
+ a platform).
           </li>
 </ul></div>
 <p>
         Lastly, <span class="bold"><strong>Boost.Chrono</strong></span> includes typeof
         registration for <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> and <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> and <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> to permit using emulated
         auto with C++03 compilers.
       </p>
 <a name="boost_chrono.overview.description.i_o"></a><h4>
-<a name="id4987716"></a>
+<a name="id4949598"></a>
         <a href="description.html#boost_chrono.overview.description.i_o">I/O</a>
       </h4>
 <p>
         It provides I/O for <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> and <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> and <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>. It builds on <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">ratio_io</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
         to provide readable and flexible formatting and parsing for types in <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">hpp</span><span class="special">&gt;</span></code>.
         The <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> unit names can be customized
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> unit names can be customized
         through a new facet: <a href="../reference/io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a>.
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a>.
       </p>
 <a name="boost_chrono.overview.description.caveat_emptor"></a><h4>
-<a name="id4987888"></a>
+<a name="id4949768"></a>
         <a href="description.html#boost_chrono.overview.description.caveat_emptor">Caveat emptor</a>
       </h4>
 <p>

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-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -4,7 +4,7 @@
 <title>Motivation</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 0.7.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
 <link rel="up" href="../overview.html" title="Overview">
 <link rel="prev" href="../overview.html" title="Overview">
 <link rel="next" href="description.html" title="Description">
@@ -27,7 +27,7 @@
 <a name="boost_chrono.overview.motivation"></a>Motivation
 </h3></div></div></div>
 <a name="boost_chrono.overview.motivation.time"></a><h4>
-<a name="id4987071"></a>
+<a name="id4948952"></a>
         <a href="motivation.html#boost_chrono.overview.motivation.time">Time</a>
       </h4>
 <p>
@@ -46,16 +46,17 @@
         of a good deal of information in this documentation.
       </p>
 <a name="boost_chrono.overview.motivation.wall_clock_versus_system_and_user_time"></a><h4>
-<a name="id4987128"></a>
+<a name="id4949009"></a>
         <a href="motivation.html#boost_chrono.overview.motivation.wall_clock_versus_system_and_user_time">Wall
         clock versus system and user time</a>
       </h4>
 <p>
         To make the timing facilities of Boost.Chrono more generally useful, the
         library provides a number of clocks that are thin wrappers around the operating
- system's process time API, thereby allowing the extraction of read (wall
- clock) time, user CPU time, and system CPU time. (On POSIX-like systems,
- this relies on <code class="computeroutput"><span class="identifier">times</span><span class="special">()</span></code>.
+ system's process time API, thereby allowing the extraction of wall clock
+ time, user CPU time, and system CPU time of the process. Wall clock time
+ is the sum of CPU time and system CPU time. (On POSIX-like systems, this
+ relies on <code class="computeroutput"><span class="identifier">times</span><span class="special">()</span></code>.
         On Windows, it relies on <code class="computeroutput"><span class="identifier">GetProcessTimes</span><span class="special">()</span></code>.)
       </p>
 </div>

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-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -4,11 +4,11 @@
 <title> Reference </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 0.7.0">
-<link rel="up" href="../index.html" title="Boost.Chrono 0.7.0">
+<link rel="start" href="../index.html" title="Boost.Chrono 0.7.1">
+<link rel="up" href="../index.html" title="Boost.Chrono 0.7.1">
 <link rel="prev" href="users_guide/ext_references.html" title=" External Resources">
 <link rel="next" href="reference/cpp0x.html" title=" Included on the C++0x
- recommendation">
+ Recommendation">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -29,7 +29,7 @@
 </h2></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="reference/cpp0x.html"> Included on the C++0x
- recommendation</a></span></dt>
+ Recommendation</a></span></dt>
 <dd><dl>
 <dt><span class="section"> Header <boost/chrono.hpp></span></dt>
 <dt><span class="section"><a href="reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp"> Header
@@ -44,21 +44,20 @@
 </dl></dd>
 <dt><span class="section"> Chrono I/O</span></dt>
 <dd><dl><dt><span class="section"> Header <boost/chrono/chrono_io.hpp></span></dt></dl></dd>
-<dt><span class="section"> Other clocks</span></dt>
+<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.thread_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">thread_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"> Deprecated Headers</span></dt>
-<dd><dl>
-<dt><span class="section"><a href="reference/deprecated.html#boost_chrono.reference.deprecated.timer_hpp"> Deprecated
- 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">timer</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/deprecated.html#boost_chrono.reference.deprecated.process_times_hpp">
- Deprecated 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_times</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-</dl></dd>
 </dl></div>
+<p>
+ As <code class="computeroutput"><span class="identifier">constexpr</span></code> will not be supported
+ by some compilers, it is replaced in the code by BOOST_CHRONO_CONSTEXPR for
+ constexpr functions and BOOST_CHRONO_CONSTEXPR_V for struct/class fields. THe
+ documentation doesn't use these macros.
+ </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

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-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -2,10 +2,10 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title> Included on the C++0x
- recommendation</title>
+ Recommendation</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 0.7.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
 <link rel="up" href="../reference.html" title=" Reference ">
 <link rel="prev" href="../reference.html" title=" Reference ">
 <link rel="next" href="io.html" title=" Chrono I/O">
@@ -26,8 +26,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_chrono.reference.cpp0x"></a><a href="cpp0x.html" title=" Included on the C++0x
- recommendation"> Included on the C++0x
- recommendation</a>
+ Recommendation"> Included on the C++0x
+ Recommendation</a>
 </h3></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"> Header <boost/chrono.hpp></span></dt>
@@ -35,21 +35,21 @@
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_hpp.limitations">
           Limitations and Extensions</a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_hpp.conf"> Configuration
- macros</a></span></dt>
+ Macros</a></span></dt>
 </dl></dd>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_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">duration</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="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits">
- Time-related traits</a></span></dt>
+ Time-related Traits</a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.common_type_spe">
- <code class="computeroutput"><span class="identifier">common_type</span></code> specialization</a></span></dt>
+ <code class="computeroutput"><span class="identifier">common_type</span></code> Specialization</a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration">
- Class template <code class="computeroutput"><span class="identifier">duration</span><span class="special">&lt;&gt;</span></code></a></span></dt>
-<dt><span class="section">duration non-member arithmetic</span></dt>
-<dt><span class="section">duration Non-Member comparaisons</span></dt>
+ Class Template <code class="computeroutput"><span class="identifier">duration</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section">duration Non-Member Arithmetic</span></dt>
+<dt><span class="section">duration Non-Member Comparaisons</span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast">
- Non-Member function <code class="computeroutput"><span class="identifier">duration_cast</span><span class="special">(</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="identifier">duration_cast</span><span class="special">(</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs">
           <code class="computeroutput"><span class="identifier">duration</span></code> typedefs</a></span></dt>
 </dl></dd>
@@ -64,7 +64,7 @@
 <dt><span class="section">time_point non-member arithmetic</span></dt>
 <dt><span class="section">time_point non-member comparisons</span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point_cast">
- Non-Member function <code class="computeroutput"><span class="identifier">time_point_cast</span><span class="special">(</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="identifier">time_point_cast</span><span class="special">(</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
 </dl></dd>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.system_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">system_clocks</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
@@ -89,7 +89,7 @@
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_hpp.limitations">
           Limitations and Extensions</a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_hpp.conf"> Configuration
- macros</a></span></dt>
+ Macros</a></span></dt>
 </dl></div>
 <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">duration</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">time_point</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
@@ -107,16 +107,14 @@
 <p>
             Next follows limitation respect to the C++0x recomendations:
           </p>
-<div class="itemizedlist"><ul type="disc"><li>
- <code class="computeroutput"><span class="identifier">constexpr</span></code> don't used
- for <code class="computeroutput"><span class="identifier">min</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">zero</span><span class="special">()</span></code>
- <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values" title="
- Class template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a> class as
- no compiler supports it today. <code class="computeroutput"><span class="keyword">const</span></code>
- is used instead when appropiated.
- </li></ul></div>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ constexpr not tested yet.
+ </li>
+<li>
+ The recently steady_clock approved is not yet included.
+ </li>
+</ul></div>
 <p>
             The current implementation provides in addition:
           </p>
@@ -133,21 +131,20 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.cpp0x.chrono_hpp.conf"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_hpp.conf" title=" Configuration
- macros"> Configuration
- macros</a>
+ Macros"> Configuration
+ Macros</a>
 </h5></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_hpp.conf.assert">
- How Assert behaves?</a></span></dt>
+ How Assert Behaves?</a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_hpp.conf.header_only">
- How to build <span class="bold"><strong>Boost.Chrono</strong></span> as a header
- only library?</a></span></dt>
+ How to Build Boost.Chrono as a Header Only Library?</a></span></dt>
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.chrono_hpp.conf.assert"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_hpp.conf.assert" title="
- How Assert behaves?">
- How Assert behaves?</a>
+ How Assert Behaves?">
+ How Assert Behaves?</a>
 </h6></div></div></div>
 <p>
               When <code class="computeroutput"><span class="identifier">BOOST_NO_STATIC_ASSERT</span></code>
@@ -169,7 +166,7 @@
                 </li>
 </ul></div>
 <p>
- The default vaule behavior is as <code class="computeroutput"><span class="identifier">BOOST_CHRONO_USES_ARRAY_ASSERT</span></code>
+ The default behavior is as <code class="computeroutput"><span class="identifier">BOOST_CHRONO_USES_ARRAY_ASSERT</span></code>
               was defined.
             </p>
 <p>
@@ -179,24 +176,22 @@
 <pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_CHRONO_A_DURATION_REPRESENTATION_CAN_NOT_BE_A_DURATION</span> <span class="special">\</span>
     <span class="string">"A duration representation can not be a duration"</span>
 <span class="preprocessor">#define</span> <span class="identifier">BOOST_CHRONO_SECOND_TEMPLATE_PARAMETER_OF_DURATION_MUST_BE_A_STD_RATIO</span> <span class="special">\</span>
- <span class="string">"Second template parameter of duration must be a std::ratio"</span>
+ <span class="string">"Second template parameter of duration must be a boost::ratio"</span>
 <span class="preprocessor">#define</span> <span class="identifier">BOOST_CHRONO_DURATION_PERIOD_MUST_BE_POSITIVE</span> <span class="special">\</span>
     <span class="string">"duration period must be positive"</span>
 <span class="preprocessor">#define</span> <span class="identifier">BOOST_CHRONO_SECOND_TEMPLATE_PARAMETER_OF_TIME_POINT_MUST_BE_A_BOOST_CHRONO_DURATION</span> <span class="special">\</span>
- <span class="string">"Second template parameter of time_point must be a boost::chrono::duration"</span>
+ <span class="string">"Second template parameter of time_point must be a bchrono::duration"</span>
 </pre>
 <p>
               Depending on the static assertion used system you will have an hint
- of the failing assertion either through the symbol or through the texte.
+ of the failing assertion either through the symbol or through the text.
             </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.chrono_hpp.conf.header_only"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_hpp.conf.header_only" title="
- How to build Boost.Chrono as a header
- only library?">
- How to build <span class="bold"><strong>Boost.Chrono</strong></span> as a header
- only library?</a>
+ How to Build Boost.Chrono as a Header Only Library?">
+ How to Build Boost.Chrono as a Header Only Library?</a>
 </h6></div></div></div>
 <p>
               When <code class="computeroutput"><span class="identifier">BOOST_CHRONO_INLINED</span></code>
@@ -205,7 +200,7 @@
 <p>
               If in addition <code class="computeroutput"><span class="identifier">BOOST_USE_WINDOWS_H</span></code>
               is defined <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">windows</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code> is included, otherwise files in
- <code class="computeroutput"><span class="identifier">detail</span><span class="special">/</span><span class="identifier">win</span></code> are used to reduce the impact
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">win</span></code> are used to reduce the impact
               of including <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">windows</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>.
             </p>
 </div>
@@ -219,34 +214,32 @@
 </h4></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits">
- Time-related traits</a></span></dt>
+ Time-related Traits</a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.common_type_spe">
- <code class="computeroutput"><span class="identifier">common_type</span></code> specialization</a></span></dt>
+ <code class="computeroutput"><span class="identifier">common_type</span></code> Specialization</a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration">
- Class template <code class="computeroutput"><span class="identifier">duration</span><span class="special">&lt;&gt;</span></code></a></span></dt>
-<dt><span class="section">duration non-member arithmetic</span></dt>
-<dt><span class="section">duration Non-Member comparaisons</span></dt>
+ Class Template <code class="computeroutput"><span class="identifier">duration</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section">duration Non-Member Arithmetic</span></dt>
+<dt><span class="section">duration Non-Member Comparaisons</span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast">
- Non-Member function <code class="computeroutput"><span class="identifier">duration_cast</span><span class="special">(</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="identifier">duration_cast</span><span class="special">(</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs">
           <code class="computeroutput"><span class="identifier">duration</span></code> typedefs</a></span></dt>
 </dl></div>
 <p>
- This file contains duration specific classes and non-member function.
+ This file contains duration specific classes and non-member functions.
         </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">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span> <span class="special">=</span> <code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="keyword">class</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">;</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span> <span class="special">=</span> <code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="keyword">class</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">;</span>
 
   <span class="special">}</span>
   <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">struct</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.common_type_spe" title="
- common_type specialization"><code class="computeroutput"><span class="identifier">common_type</span></code></a><span class="special">&lt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;,</span>
- <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period2</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
+ common_type Specialization"><code class="computeroutput"><span class="identifier">common_type</span></code></a><span class="special">&lt;</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;,</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;</span> <span class="special">&gt;;</span>
 
   <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
 
@@ -254,72 +247,97 @@
 </span> <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.treat_as_floating_point" title="
             Metafunction treat_as_floating_point&lt;&gt;"><code class="computeroutput"><span class="identifier">treat_as_floating_point</span></code></a><span class="special">;</span>
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values" title="
- Class template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a><span class="special">;</span>
+ Class Template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a><span class="special">;</span>
 
     <span class="comment">// duration arithmetic
 </span> <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">typename</span> <span class="identifier">common_type</span><span class="special">&lt;</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;,</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;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
- <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="keyword">operator</span><span class="special">+(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
+ <span class="keyword">operator</span><span class="special">+(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
 
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">typename</span> <span class="identifier">common_type</span><span class="special">&lt;</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;,</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;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
- <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
+ <span class="keyword">operator</span><span class="special">-(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
 
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep2</span><span class="special">&gt;</span>
     <span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">common_type</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span>
- <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="keyword">operator</span><span class="special">*(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">);</span>
+ <span class="keyword">operator</span><span class="special">*(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">);</span>
 
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep2</span><span class="special">&gt;</span>
     <span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">common_type</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span>
- <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="keyword">operator</span><span class="special">*(</span><span class="keyword">const</span> <span class="identifier">Rep1</span><span class="special">&amp;</span> <span class="identifier">s</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">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+ <span class="keyword">operator</span><span class="special">*(</span>
+ <span class="keyword">const</span> <span class="identifier">Rep1</span><span class="special">&amp;</span> <span class="identifier">s</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">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
 
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep2</span><span class="special">&gt;</span>
     <span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">common_type</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span>
- <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="keyword">operator</span><span class="special">/(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">);</span>
+ <span class="keyword">operator</span><span class="special">/(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">);</span>
 
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">typename</span> <span class="identifier">common_type</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span>
- <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="keyword">operator</span><span class="special">/(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
+ <span class="keyword">operator</span><span class="special">/(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
 
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
- <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="keyword">double</span> <span class="keyword">operator</span><span class="special">/(</span><span class="keyword">const</span> <span class="identifier">Rep1</span><span class="special">&amp;</span> <span class="identifier">s</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">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+ <span class="keyword">double</span> <span class="keyword">operator</span><span class="special">/(</span>
+ <span class="keyword">const</span> <span class="identifier">Rep1</span><span class="special">&amp;</span> <span class="identifier">s</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">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
 
     <span class="comment">// duration comparisons
 </span> <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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_CHRONO_CONSTEXPR</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
+ <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
 
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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_CHRONO_CONSTEXPR</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
+ <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
 
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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_CHRONO_CONSTEXPR</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
+ <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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_CHRONO_CONSTEXPR</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
+ <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
 
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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_CHRONO_CONSTEXPR</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
+ <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;</span> <span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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_CHRONO_CONSTEXPR</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
+ <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
 
     <span class="comment">// duration_cast
 </span>
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ToDuration</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
     <span class="identifier">ToDuration</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
 
     <span class="comment">// convenience typedefs
-</span> <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">,</span> <span class="identifier">nano</span><span class="special">&gt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+</span> <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">,</span> <span class="identifier">nano</span><span class="special">&gt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a><span class="special">;</span> <span class="comment">// at least 64 bits needed
-</span> <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">,</span> <span class="identifier">micro</span><span class="special">&gt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+</span> <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">,</span> <span class="identifier">micro</span><span class="special">&gt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a><span class="special">;</span> <span class="comment">// at least 55 bits needed
-</span> <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">&gt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+</span> <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">&gt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">milliseconds</span></code></a><span class="special">;</span> <span class="comment">// at least 45 bits needed
-</span> <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">&gt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+</span> <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">&gt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">seconds</span></code></a><span class="special">;</span> <span class="comment">// at least 35 bits needed
-</span> <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least32_t</span><span class="special">,</span> <span class="identifier">ratio</span><span class="special">&lt;</span> <span class="number">60</span><span class="special">&gt;</span> <span class="special">&gt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+</span> <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least32_t</span><span class="special">,</span> <span class="identifier">ratio</span><span class="special">&lt;</span> <span class="number">60</span><span class="special">&gt;</span> <span class="special">&gt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">minutes</span></code></a><span class="special">;</span> <span class="comment">// at least 29 bits needed
-</span> <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least32_t</span><span class="special">,</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">3600</span><span class="special">&gt;</span> <span class="special">&gt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+</span> <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least32_t</span><span class="special">,</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">3600</span><span class="special">&gt;</span> <span class="special">&gt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">hours</span></code></a><span class="special">;</span> <span class="comment">// at least 23 bits needed
 </span>
   <span class="special">}</span>
@@ -328,14 +346,14 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.traits"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits" title="
- Time-related traits">
- Time-related traits</a>
+ Time-related Traits">
+ Time-related Traits</a>
 </h5></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.treat_as_floating_point">
             Metafunction <code class="computeroutput"><span class="identifier">treat_as_floating_point</span><span class="special">&lt;&gt;</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values">
- Class template <code class="computeroutput"><span class="identifier">duration_values</span></code></a></span></dt>
+ Class Template <code class="computeroutput"><span class="identifier">duration_values</span></code></a></span></dt>
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
@@ -348,24 +366,24 @@
 </pre>
 <p>
               The <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> template uses the
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> template uses the
               <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.treat_as_floating_point" title="
             Metafunction treat_as_floating_point&lt;&gt;"><code class="computeroutput"><span class="identifier">treat_as_floating_point</span></code></a> trait
               to help determine if a <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> with one tick period
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> with one tick period
               can be converted to another <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> with a different
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> with a different
               tick period. If <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>
               is <code class="computeroutput"><span class="keyword">true</span></code>, then <code class="computeroutput"><span class="identifier">Rep</span></code> is a floating point type and
               implicit conversions are allowed among <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a>. Otherwise, the
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s. Otherwise, the
               implicit convertibility depends on the tick periods of the <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a>. If <code class="computeroutput"><span class="identifier">Rep</span></code> is a class type which emulates
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s. If <code class="computeroutput"><span class="identifier">Rep</span></code> is a class type which emulates
               a floating point type, the author of <code class="computeroutput"><span class="identifier">Rep</span></code>
               can specialize <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.treat_as_floating_point" title="
             Metafunction treat_as_floating_point&lt;&gt;"><code class="computeroutput"><span class="identifier">treat_as_floating_point</span></code></a> so
               that <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> will treat this
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> will treat this
               <code class="computeroutput"><span class="identifier">Rep</span></code> as if it were a
               floating point type. Otherwise <code class="computeroutput"><span class="identifier">Rep</span></code>
               is assumed to be an integral type, or a class emulating an integral
@@ -375,50 +393,50 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values" title="
- Class template duration_values">
- Class template <code class="computeroutput"><span class="identifier">duration_values</span></code></a>
+ Class Template duration_values">
+ Class Template <code class="computeroutput"><span class="identifier">duration_values</span></code></a>
 </h6></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.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.duration_hpp.traits.duration_values.max">
- Static member function <code class="computeroutput"><span class="identifier">max</span><span class="special">()</span></code></a></span></dt>
+ 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.duration_hpp.traits.duration_values.min">
- Static member function <code class="computeroutput"><span class="identifier">min</span><span class="special">()</span></code></a></span></dt>
+ Static Member Function <code class="computeroutput"><span class="identifier">min</span><span class="special">()</span></code></a></span></dt>
 </dl></div>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">&gt;</span>
 <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_CHRONO_CONSTEXPR</span> <span class="identifier">Rep</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values.zero" title="
- Static member Function zero()"><code class="computeroutput"><span class="identifier">zero</span></code></a><span class="special">();</span>
- <span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">Rep</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values.max" title="
- Static member function max()"><code class="computeroutput"><span class="identifier">max</span></code></a><span class="special">();</span>
- <span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">Rep</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values.min" title="
- Static member function min()"><code class="computeroutput"><span class="identifier">min</span></code></a><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="identifier">Rep</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values.zero" title="
+ Static Member Function zero()"><code class="computeroutput"><span class="identifier">zero</span></code></a><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="identifier">Rep</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values.max" title="
+ Static Member Function max()"><code class="computeroutput"><span class="identifier">max</span></code></a><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="identifier">Rep</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values.min" title="
+ Static Member Function min()"><code class="computeroutput"><span class="identifier">min</span></code></a><span class="special">();</span>
 <span class="special">};</span>
 </pre>
 <p>
               The <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> template uses the
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> template uses the
               <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values" title="
- Class template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a> trait to construct
+ Class Template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a> trait to construct
               special values of the <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a> representation
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s representation
               (<code class="computeroutput"><span class="identifier">Rep</span></code>). 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 <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values" title="
- Class template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a> to return
+ Class Template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a> to return
               the indicated values.
             </p>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values.zero"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values.zero" title="
- Static member Function zero()">
- 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_CHRONO_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">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>
@@ -434,10 +452,10 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values.max"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values.max" title="
- Static member function max()">
- Static member function <code class="computeroutput"><span class="identifier">max</span><span class="special">()</span></code></a>
+ 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_CHRONO_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">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>.
@@ -450,10 +468,10 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values.min"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values.min" title="
- Static member function min()">
- Static member function <code class="computeroutput"><span class="identifier">min</span><span class="special">()</span></code></a>
+ 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_CHRONO_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">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>.
@@ -468,21 +486,21 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.common_type_spe"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.common_type_spe" title="
- common_type specialization">
- <code class="computeroutput"><span class="identifier">common_type</span></code> specialization</a>
+ common_type Specialization">
+ <code class="computeroutput"><span class="identifier">common_type</span></code> Specialization</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">struct</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">::</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;,</span> <span class="identifier">chrono</span><span class="special">::</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period2</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+<span class="keyword">struct</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">::</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;,</span> <span class="identifier">chrono</span><span class="special">::</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period2</span><span class="special">&gt;</span> <span class="special">&gt;</span>
 <span class="special">{</span>
- <span class="keyword">typedef</span> <span class="identifier">chrono</span><span class="special">::</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">see</span> <span class="identifier">below</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">chrono</span><span class="special">::</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="emphasis"><em>see bellow</em></span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
 <span class="special">};</span>
 </pre>
 <p>
             The period of the <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> indicated by this specialization
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> indicated by this specialization
             of <code class="computeroutput"><span class="identifier">common_type</span></code> is the
             greatest common divisor of <code class="computeroutput"><span class="identifier">Period1</span></code>
             and <code class="computeroutput"><span class="identifier">Period2</span></code>. This can
@@ -493,21 +511,21 @@
           </p>
 <p>
             <span class="bold"><strong>Note:</strong></span> The typedef type is the <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> with the largest tick
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> with the largest tick
             period possible where both <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> arguments will convert
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> arguments will convert
             to it without requiring a division operation. The representation of this
             type is intended to be able to hold any value resulting from this conversion,
             with the possible exception of round-off error when floating point <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a> are involved (but
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s are involved (but
             not truncation error).
           </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;">
- Class template <code class="computeroutput"><span class="identifier">duration</span><span class="special">&lt;&gt;</span></code></a>
+ Class Template duration&lt;&gt;">
+ Class Template <code class="computeroutput"><span class="identifier">duration</span><span class="special">&lt;&gt;</span></code></a>
 </h5></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_c_1">
@@ -515,44 +533,44 @@
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_c_2">
             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></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.count">
- Member function <code class="computeroutput"><span class="identifier">count</span><span class="special">()</span> <span class="keyword">const</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">count</span><span class="special">()</span> <span class="keyword">const</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_p">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+()</span> <span class="keyword">const</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+()</span> <span class="keyword">const</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_m">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+()</span> <span class="keyword">const</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-()</span> <span class="keyword">const</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_pp">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">++()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">++()</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_pp2">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">)</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_mm">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">++()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">--()</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_mm2">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">)</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">--(</span><span class="keyword">int</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_pa">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;)</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_ma">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-=(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;)</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-=(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_moda">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%=(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;)</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%=(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_proda">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">*=(</span><span class="keyword">const</span> <span class="identifier">rep</span><span class="special">&amp;)</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">*=(</span><span class="keyword">const</span> <span class="identifier">rep</span><span class="special">&amp;)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_da">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/=(</span><span class="keyword">const</span> <span class="identifier">rep</span><span class="special">&amp;)</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/=(</span><span class="keyword">const</span> <span class="identifier">rep</span><span class="special">&amp;)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_moda_2">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%=(</span><span class="keyword">const</span> <span class="identifier">rep</span><span class="special">&amp;)</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%=(</span><span class="keyword">const</span> <span class="identifier">rep</span><span class="special">&amp;)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_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.duration_hpp.duration.duration_min">
- Static Member function <code class="computeroutput"><span class="identifier">min</span><span class="special">()</span></code></a></span></dt>
+ Static Member Function <code class="computeroutput"><span class="identifier">min</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_max">
- Static Member function <code class="computeroutput"><span class="identifier">max</span><span class="special">()</span></code></a></span></dt>
+ Static Member Function <code class="computeroutput"><span class="identifier">max</span><span class="special">()</span></code></a></span></dt>
 </dl></div>
 <p>
             A <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> measures time between
- two points in time ( <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> measures time between
+ two points in time (<a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>). A <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> has a representation
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> has a representation
             which holds a count of ticks, and a tick period. The tick period is the
             amount of time which occurs from one tick to another in units of a second.
             It is expressed as a rational constant using <code class="computeroutput"><span class="identifier">ratio</span></code>.
@@ -567,21 +585,19 @@
     <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_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_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="identifier">constexpr</span> <span class="identifier">duration</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">&gt;</span>
+ <span class="identifier">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">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_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="identifier">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="comment">//~duration() = default;
-</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_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">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="special">=</span> <span class="keyword">default</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">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">constexpr</span> <span class="identifier">duration</span> <span class="keyword">operator</span><span class="special">+();</span>
+ <span class="identifier">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>
@@ -595,9 +611,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_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="keyword">static</span> <span class="identifier">constexpr</span> <span class="identifier">duration</span> <span class="identifier">zero</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="identifier">duration</span> <span class="identifier">min</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="identifier">duration</span> <span class="identifier">max</span><span class="special">();</span>
     <span class="special">};</span>
 
 <span class="special">}}</span>
@@ -606,10 +622,10 @@
             <code class="computeroutput"><span class="identifier">Rep</span></code> must be an arithmetic
             type, or a class emulating an arithmetic type, compile diagnostic otherwise.
             If <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> is instantiated with
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> is instantiated with
             the type of <code class="computeroutput"><span class="identifier">Rep</span></code> being
             a <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, compile diagnostic
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, compile diagnostic
             is issued.
           </p>
 <p>
@@ -626,25 +642,25 @@
           </p>
 <div class="itemizedlist"><ul type="disc">
 <li>
- <code class="computeroutput"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">60</span><span class="special">&gt;</span> <span class="special">&gt;</span></code> holds a count of minutes using
+ <code class="computeroutput"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">60</span><span class="special">&gt;</span> <span class="special">&gt;</span></code> holds a count of minutes using
                 a long.
               </li>
 <li>
- <code class="computeroutput"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">&gt;</span></code> holds a count of milliseconds
+ <code class="computeroutput"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">&gt;</span></code> holds a count of milliseconds
                 using a long long.
               </li>
 <li>
- <code class="computeroutput"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span>
+ <code class="computeroutput"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span>
                 <code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">1</span><span class="special">,</span> <span class="number">30</span><span class="special">&gt;</span> <span class="special">&gt;</span></code> holds a count using a double
                 with a tick period of 1/30 second (a tick frequency of 30 Hz).
               </li>
 </ul></div>
 <p>
             The following members of <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> do not throw an exception
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> do not throw an exception
             unless the indicated operations on the representations throw an exception.
           </p>
 <div class="section" lang="en">
@@ -654,7 +670,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_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="identifier">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>
@@ -675,23 +691,23 @@
               If these constraints are not met, this constructor will not participate
               in overload resolution. <span class="bold"><strong>Note:</strong></span> This
               requirement prevents construction of an integral-based <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> with a floating point
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> with a floating point
               representation. Such a construction could easily lead to confusion
               about the value of the <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
             </p>
 <p>
               <span class="bold"><strong>Example:</strong></span>
             </p>
-<pre class="programlisting"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">(</span><span class="number">3.5</span><span class="special">);</span> <span class="comment">// do not compile
-</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">(</span><span class="number">3</span><span class="special">);</span> <span class="comment">// ok
+<pre class="programlisting"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">(</span><span class="number">3.5</span><span class="special">);</span> <span class="comment">// do not compile
+</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">(</span><span class="number">3</span><span class="special">);</span> <span class="comment">// ok
 </span></pre>
 <p>
               <span class="bold"><strong>Effects:</strong></span> Constructs an object of type
               <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
             </p>
 <p>
               <span class="bold"><strong>PostConditions:</strong></span> <code class="computeroutput"><span class="identifier">count</span><span class="special">()</span> <span class="special">==</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">rep</span><span class="special">&gt;(</span><span class="identifier">r</span><span class="special">)</span></code>.
@@ -704,9 +720,9 @@
             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_CHRONO_CONSTEXPR</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">constexpr</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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>,
@@ -716,47 +732,47 @@
               not participate in overload resolution. <span class="bold"><strong>note</strong></span>
               This requirement prevents implicit truncation error when converting
               between integral-based <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a>. Such a construction
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s. Such a construction
               could easily lead to confusion about the value of the <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
             </p>
 <p>
               <span class="bold"><strong>Example:</strong></span>
             </p>
-<pre class="programlisting"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">&gt;</span> <span class="identifier">ms</span><span class="special">(</span><span class="number">3</span><span class="special">);</span>
- <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">micro</span><span class="special">&gt;</span> <span class="identifier">us</span> <span class="special">=</span> <span class="identifier">ms</span><span class="special">;</span> <span class="comment">// ok
-</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">&gt;</span> <span class="identifier">ms2</span> <span class="special">=</span> <span class="identifier">us</span><span class="special">;</span> <span class="comment">// do not compile
+<pre class="programlisting"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">&gt;</span> <span class="identifier">ms</span><span class="special">(</span><span class="number">3</span><span class="special">);</span>
+<a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">micro</span><span class="special">&gt;</span> <span class="identifier">us</span> <span class="special">=</span> <span class="identifier">ms</span><span class="special">;</span> <span class="comment">// ok
+</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">&gt;</span> <span class="identifier">ms2</span> <span class="special">=</span> <span class="identifier">us</span><span class="special">;</span> <span class="comment">// do not compile
 </span></pre>
 <p>
               <span class="bold"><strong>Effects:</strong></span> Constructs an object of type
               <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, constructing <code class="computeroutput"><span class="identifier">rep_</span></code> from <code class="computeroutput"><span class="identifier">duration_cast</span><span class="special">&lt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">).</span><span class="identifier">count</span><span class="special">()</span></code>.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, constructing <code class="computeroutput"><span class="identifier">rep_</span></code> from <code class="computeroutput"><span class="identifier">duration_cast</span><span class="special">&lt;</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">).</span><span class="identifier">count</span><span class="special">()</span></code>.
             </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.count"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.count" title="
- 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>
+ 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_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 class="programlisting"><span class="identifier">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.
+ <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">rep_</span></code>.
             </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_p"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_p" title="
- 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>
+ 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_CHRONO_CONSTEXPR</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> <span class="keyword">operator</span><span class="special">+()</span> <span class="keyword">const</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">constexpr</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> <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>.
@@ -765,25 +781,25 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_m"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_m" title="
- 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>
+ 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_CHRONO_CONSTEXPR</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> <span class="keyword">operator</span><span class="special">-()</span> <span class="keyword">const</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">constexpr</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> <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"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">(-</span><span class="identifier">rep_</span><span class="special">)</span></code>.
+ <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">(-</span><span class="identifier">rep_</span><span class="special">)</span></code>.
             </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_pp"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_pp" title="
- Member function operator++()">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">++()</span></code></a>
+ Member Function operator++()">
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">++()</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">++();</span>
+<pre class="programlisting"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">++();</span>
 </pre>
 <p>
               <span class="bold"><strong>Effects:</strong></span> <code class="computeroutput"><span class="special">++</span><span class="identifier">rep_</span></code>.
@@ -795,25 +811,25 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_pp2"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_pp2" title="
- Member function operator++(int)">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">)</span></code></a>
+ Member Function operator++(int)">
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">)</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span>
+<pre class="programlisting"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span>
 </pre>
 <p>
- <span class="bold"><strong>Returns:</strong></span> ` <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>(rep_++)v.
+ <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">(</span><span class="identifier">rep_</span><span class="special">++)</span></code>.
             </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_mm"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_mm" title="
- Member function operator++()">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">++()</span></code></a>
+ Member Function operator--()">
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">--()</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">--();</span>
+<pre class="programlisting"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">--();</span>
 </pre>
 <p>
               <span class="bold"><strong>Effects:</strong></span> <code class="computeroutput"><span class="special">--</span><span class="identifier">rep_</span></code>.
@@ -825,26 +841,26 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_mm2"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_mm2" title="
- Member function operator++(int)">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">)</span></code></a>
+ Member Function operator--(int)">
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">--(</span><span class="keyword">int</span><span class="special">)</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> <span class="keyword">operator</span><span class="special">--(</span><span class="keyword">int</span><span class="special">);</span>
+<pre class="programlisting"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> <span class="keyword">operator</span><span class="special">--(</span><span class="keyword">int</span><span class="special">);</span>
 </pre>
 <p>
- <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">(</span><span class="identifier">rep_</span><span class="special">--)</span></code>.
+ <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">(</span><span class="identifier">rep_</span><span class="special">--)</span></code>.
             </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_pa"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_pa" title="
- Member function operator+=(const duration&amp;)">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;)</span></code></a>
+ Member Function operator+=(const duration&amp;)">
+ Member Function <code class="computeroutput"><span class="keyword">operator</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"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">+=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+<pre class="programlisting"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">+=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Effects:</strong></span> <code class="computeroutput"><span class="identifier">rep_</span>
@@ -857,12 +873,12 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_ma"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_ma" title="
- Member function operator-=(const duration&amp;)">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-=(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;)</span></code></a>
+ Member Function operator-=(const duration&amp;)">
+ Member Function <code class="computeroutput"><span class="keyword">operator</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"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">-=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+<pre class="programlisting"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">-=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Effects:</strong></span> <code class="computeroutput"><span class="identifier">rep_</span>
@@ -875,12 +891,12 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_moda"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_moda" title="
- Member function operator%=(const duration&amp;)">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%=(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;)</span></code></a>
+ Member Function operator%=(const duration&amp;)">
+ Member Function <code class="computeroutput"><span class="keyword">operator</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"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">%=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+<pre class="programlisting"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">%=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Effects:</strong></span> <code class="computeroutput"><span class="identifier">rep_</span>
@@ -893,11 +909,11 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_proda"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_proda" title="
- Member function operator*=(const rep&amp;)">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">*=(</span><span class="keyword">const</span> <span class="identifier">rep</span><span class="special">&amp;)</span></code></a>
+ Member Function operator*=(const rep&amp;)">
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">*=(</span><span class="keyword">const</span> <span class="identifier">rep</span><span class="special">&amp;)</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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>
+<pre class="programlisting"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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>
 </pre>
 <p>
               <span class="bold"><strong>Effects:</strong></span> <code class="computeroutput"><span class="identifier">rep_</span>
@@ -910,11 +926,11 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_da"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_da" title="
- Member function operator/=(const rep&amp;)">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/=(</span><span class="keyword">const</span> <span class="identifier">rep</span><span class="special">&amp;)</span></code></a>
+ Member Function operator/=(const rep&amp;)">
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/=(</span><span class="keyword">const</span> <span class="identifier">rep</span><span class="special">&amp;)</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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>
+<pre class="programlisting"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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>
 </pre>
 <p>
               <span class="bold"><strong>Effects:</strong></span> <code class="computeroutput"><span class="identifier">rep_</span>
@@ -927,11 +943,11 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_moda_2"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_operator_moda_2" title="
- Member function operator%=(const rep&amp;)">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%=(</span><span class="keyword">const</span> <span class="identifier">rep</span><span class="special">&amp;)</span></code></a>
+ Member Function operator%=(const rep&amp;)">
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%=(</span><span class="keyword">const</span> <span class="identifier">rep</span><span class="special">&amp;)</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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>
+<pre class="programlisting"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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>
 </pre>
 <p>
               <span class="bold"><strong>Effects:</strong></span> <code class="computeroutput"><span class="identifier">rep_</span>
@@ -944,84 +960,84 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_zero"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_zero" title="
- Static Member function zero()">
- 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> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> <span class="identifier">zero</span><span class="special">();</span>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">constexpr</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> <span class="identifier">zero</span><span class="special">();</span>
 </pre>
 <p>
- <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">(</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values" title="
- Class template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a><span class="special">&lt;</span><span class="identifier">rep</span><span class="special">&gt;::</span><span class="identifier">zero</span><span class="special">())</span></code>.
+ <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">(</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values" title="
+ Class Template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a><span class="special">&lt;</span><span class="identifier">rep</span><span class="special">&gt;::</span><span class="identifier">zero</span><span class="special">())</span></code>.
             </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_min"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_min" title="
- Static Member function min()">
- Static Member function <code class="computeroutput"><span class="identifier">min</span><span class="special">()</span></code></a>
+ 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> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> <span class="identifier">min</span><span class="special">();</span>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">constexpr</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> <span class="identifier">min</span><span class="special">();</span>
 </pre>
 <p>
- <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">(</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values" title="
- Class template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a><span class="special">&lt;</span><span class="identifier">rep</span><span class="special">&gt;::</span><span class="identifier">min</span><span class="special">()).</span></code>
+ <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">(</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values" title="
+ Class Template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a><span class="special">&lt;</span><span class="identifier">rep</span><span class="special">&gt;::</span><span class="identifier">min</span><span class="special">()).</span></code>
             </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration.duration_max"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration.duration_max" title="
- Static Member function max()">
- Static Member function <code class="computeroutput"><span class="identifier">max</span><span class="special">()</span></code></a>
+ 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">constexpr</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> <span class="identifier">max</span><span class="special">();</span>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">constexpr</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> <span class="identifier">max</span><span class="special">();</span>
 </pre>
 <p>
- <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">(</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values" title="
- Class template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a><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>.
+ <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">(</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values" title="
+ Class Template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a><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>.
             </p>
 </div>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic"></a>duration non-member arithmetic
+<a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic"></a>duration Non-Member Arithmetic
 </h5></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_p_1">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_m_1">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_prod_1">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">*(</span><span class="identifier">Rep1</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">*(</span><span class="identifier">Rep1</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_d_1">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">Rep2</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">Rep2</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_d_2">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_d_3">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/(</span><span class="identifier">Rep1</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/(</span><span class="identifier">Rep1</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_mod_1">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">Rep2</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">Rep2</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_mod_2">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_p_1"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_p_1" title="
- Non-Member function operator+(duration,duration)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function operator+(duration,duration)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;,</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period2</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
-<span class="keyword">operator</span><span class="special">+(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
+<span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;,</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period2</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="keyword">operator</span><span class="special">+(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">CD</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">+=</span> <span class="identifier">rhs</span></code> where <code class="computeroutput"><span class="identifier">CD</span></code>
@@ -1031,26 +1047,26 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_m_1"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_m_1" title="
- Non-Member function operator-(duration,duration)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function operator-(duration,duration)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;,</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period2</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
-<span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
+<span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;,</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period2</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">CD</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">-=</span> <span class="identifier">rhs</span></code> where <code class="computeroutput"><span class="identifier">CD</span></code>
               is the type of the return value.
             </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep2</span><span class="special">&gt;</span>
- <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span>
-<span class="keyword">operator</span><span class="special">*(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">);</span>
+<a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+<span class="keyword">operator</span><span class="special">*(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Requires:</strong></span> Let <code class="computeroutput"><span class="identifier">CR</span></code>
@@ -1061,21 +1077,21 @@
               convertible to <code class="computeroutput"><span class="identifier">CR</span></code>.
             </p>
 <p>
- <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">CR</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">)</span> <span class="special">*=</span> <span class="identifier">s</span></code>.
+ <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">CR</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">)</span> <span class="special">*=</span> <span class="identifier">s</span></code>.
             </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_prod_1"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_prod_1" title="
- Non-Member function operator*(Rep1,duration)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">*(</span><span class="identifier">Rep1</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function operator*(Rep1,duration)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">*(</span><span class="identifier">Rep1</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep2</span><span class="special">&gt;</span>
- <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span>
-<span class="keyword">operator</span><span class="special">*(</span><span class="keyword">const</span> <span class="identifier">Rep1</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span> <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+<a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+<span class="keyword">operator</span><span class="special">*(</span><span class="keyword">const</span> <span class="identifier">Rep1</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span> <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Requires:</strong></span> Let <code class="computeroutput"><span class="identifier">CR</span></code>
@@ -1093,14 +1109,14 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_d_1"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_d_1" title="
- Non-Member function operator/(duration,Rep2)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">Rep2</span><span class="special">)</span></code></a>
+ Non-Member Function operator/(duration,Rep2)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">Rep2</span><span class="special">)</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep2</span><span class="special">&gt;</span>
- <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span>
-<span class="keyword">operator</span><span class="special">/(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">);</span>
+<a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+<span class="keyword">operator</span><span class="special">/(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Requires:</strong></span> Let <code class="computeroutput"><span class="identifier">CR</span></code>
@@ -1111,30 +1127,30 @@
               convertible to <code class="computeroutput"><span class="identifier">CR</span></code>,
               and <code class="computeroutput"><span class="identifier">Rep2</span></code> is not an
               instantiation of <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
             </p>
 <p>
- <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">CR</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">)</span> <span class="special">/=</span> <span class="identifier">s</span></code>.
+ <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">CR</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">)</span> <span class="special">/=</span> <span class="identifier">s</span></code>.
             </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_d_2"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_d_2" title="
- Non-Member function operator/(duration,duration)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function operator/(duration,duration)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span>
-<span class="keyword">operator</span><span class="special">/(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
+<span class="keyword">operator</span><span class="special">/(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Returns:</strong></span> Let <code class="computeroutput"><span class="identifier">CD</span></code>
               represent the <code class="computeroutput"><span class="identifier">common_type</span></code>
               of the two <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> arguments. Returns
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> arguments. Returns
               <code class="computeroutput"><span class="identifier">CD</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">).</span><span class="identifier">count</span><span class="special">()</span>
               <span class="special">/</span> <span class="identifier">CD</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">).</span><span class="identifier">count</span><span class="special">()</span></code>.
             </p>
@@ -1142,12 +1158,16 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_d_3"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_d_3" title="
- Non-Member function operator/(Rep1,duration)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/(</span><span class="identifier">Rep1</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function operator/(Rep1,duration)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">/(</span><span class="identifier">Rep1</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
 </h6></div></div></div>
+<p>
+ This overloading could be used to get the frequency of an event counted
+ by <code class="computeroutput"><span class="identifier">Rep1</span></code>.
+ </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
-<span class="keyword">double</span> <span class="keyword">operator</span><span class="special">/(</span><span class="keyword">const</span> <span class="identifier">Rep1</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span> <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="keyword">operator</span><span class="special">/(</span><span class="keyword">const</span> <span class="identifier">Rep1</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span> <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period</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> Let <code class="computeroutput"><span class="identifier">CR</span></code>
@@ -1158,51 +1178,51 @@
               convertible to <code class="computeroutput"><span class="identifier">CR</span></code>,
               and <code class="computeroutput"><span class="identifier">Rep1</span></code> is not an
               instantiation of <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
             </p>
 <p>
- <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">CR</span><span class="special">(</span><span class="identifier">s</span><span class="special">)/</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">CR</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">)</span></code>.
+ <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">CR</span><span class="special">(</span><span class="identifier">s</span><span class="special">)/</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">CR</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">).</span><span class="identifier">count</span><span class="special">()</span></code>.
             </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_mod_1"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_mod_1" title="
- Non-Member function operator%(duration,Rep2)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">Rep2</span><span class="special">)</span></code></a>
+ Non-Member Function operator%(duration,Rep2)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">Rep2</span><span class="special">)</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep2</span><span class="special">&gt;</span>
- <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span>
-<span class="keyword">operator</span><span class="special">%(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">);</span>
+<a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Rep2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+<span class="keyword">operator</span><span class="special">%(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Remarks</strong></span> This function will not participate
               in overload resolution unless Rep2 must be implicitly convertible to
               CR(Rep1, Rep2) and Rep2 must not be an instantiation of <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
             </p>
 <p>
               <span class="bold"><strong>Returns:</strong></span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>&lt;CR(Rep1,Rep2),
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>&lt;CR(Rep1,Rep2),
               Period&gt;(d) %= s.
             </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_mod_2"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_arithmetic.duration_operator_mod_2" title="
- Non-Member function operator%(duration,duration)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function operator%(duration,duration)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">%(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;,</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period2</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
-<span class="keyword">operator</span><span class="special">%(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
- <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
+<span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;,</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period2</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="keyword">operator</span><span class="special">%(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Remarks</strong></span> This function will not participate
@@ -1215,39 +1235,39 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons"></a>duration Non-Member comparaisons
+<a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons"></a>duration Non-Member Comparaisons
 </h5></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_eq_1">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">==(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">==(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_neq_1">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">!=(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">!=(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_lt_1">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_leq_1">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;=(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;=(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_gt_1">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_gteq_1">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;=(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;=(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_eq_1"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_eq_1" title="
- Non-Member function operator==(duration,duration)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">==(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function operator==(duration,duration)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">==(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
- <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Returns:</strong></span> Let <code class="computeroutput"><span class="identifier">CD</span></code>
               represent the <code class="computeroutput"><span class="identifier">common_type</span></code>
               of the two <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> arguments. Returns
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> arguments. Returns
               <code class="computeroutput"><span class="identifier">CD</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">).</span><span class="identifier">count</span><span class="special">()</span>
               <span class="special">==</span> <span class="identifier">CD</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">).</span><span class="identifier">count</span><span class="special">()</span></code>
             </p>
@@ -1255,14 +1275,14 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_neq_1"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_neq_1" title="
- Non-Member function operator!=(duration,duration)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">!=(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function operator!=(duration,duration)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">!=(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
- <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="special">!(</span><span class="identifier">lhs</span> <span class="special">==</span>
@@ -1272,20 +1292,20 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_lt_1"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_lt_1" title="
- Non-Member function operator&lt;(duration,duration)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function operator&lt;(duration,duration)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;</span> <span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
- <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;</span> <span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Returns:</strong></span> Let <code class="computeroutput"><span class="identifier">CD</span></code>
               represent the <code class="computeroutput"><span class="identifier">common_type</span></code>
               of the two <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> arguments. Returns
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> arguments. Returns
               <code class="computeroutput"><span class="identifier">CD</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">).</span><span class="identifier">count</span><span class="special">()</span>
               <span class="special">&lt;</span> <span class="identifier">CD</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">).</span><span class="identifier">count</span><span class="special">()</span></code>
             </p>
@@ -1293,14 +1313,14 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_leq_1"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_leq_1" title="
- Non-Member function operator&lt;=(duration,duration)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;=(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function operator&lt;=(duration,duration)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;=(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
- <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="special">!(</span><span class="identifier">rhs</span> <span class="special">&lt;</span>
@@ -1310,14 +1330,14 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_gt_1"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_gt_1" title="
- Non-Member function operator&gt;(duration,duration)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function operator&gt;(duration,duration)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;</span> <span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
- <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;</span> <span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">rhs</span>
@@ -1327,14 +1347,14 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_gteq_1"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp._duration__non_member_comparaisons.duration_operator_gteq_1" title="
- Non-Member function operator&gt;=(duration,duration)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;=(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function operator&gt;=(duration,duration)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;=(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</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="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
- <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><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">rhs</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="special">!(</span><span class="identifier">lhs</span> <span class="special">&lt;</span>
@@ -1345,18 +1365,18 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.cpp0x.duration_hpp.duration_cast"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)">
- Non-Member function <code class="computeroutput"><span class="identifier">duration_cast</span><span class="special">(</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function duration_cast(duration)">
+ Non-Member Function <code class="computeroutput"><span class="identifier">duration_cast</span><span class="special">(</span><span class="identifier">duration</span><span class="special">)</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">ToDuration</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
-<span class="identifier">ToDuration</span> <span class="identifier">duration_cast</span><span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+<span class="identifier">ToDuration</span> <span class="identifier">duration_cast</span><span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
 </pre>
 <p>
             <span class="bold"><strong>Requires:</strong></span> This function will not participate
             in overload resolution unless <code class="computeroutput"><span class="identifier">ToDuration</span></code>
             is an instantiation of <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
           </p>
 <p>
             <span class="bold"><strong>Returns:</strong></span> Forms <code class="computeroutput"><span class="identifier">CF</span></code>
@@ -1413,18 +1433,18 @@
           <code class="computeroutput"><span class="identifier">duration</span></code> typedefs</a>
 </h5></div></div></div>
 <pre class="programlisting"><span class="comment">// convenience typedefs
-</span><span class="keyword">typedef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">,</span> <span class="identifier">nano</span><span class="special">&gt;</span> <span class="identifier">nanoseconds</span><span class="special">;</span> <span class="comment">// at least 64 bits needed
-</span><span class="keyword">typedef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">,</span> <span class="identifier">micro</span><span class="special">&gt;</span> <span class="identifier">microseconds</span><span class="special">;</span> <span class="comment">// at least 55 bits needed
-</span><span class="keyword">typedef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">&gt;</span> <span class="identifier">milliseconds</span><span class="special">;</span> <span class="comment">// at least 45 bits needed
-</span><span class="keyword">typedef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">&gt;</span> <span class="identifier">seconds</span><span class="special">;</span> <span class="comment">// at least 35 bits needed
-</span><span class="keyword">typedef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least32_t</span><span class="special">,</span> <code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span> <span class="number">60</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">minutes</span><span class="special">;</span> <span class="comment">// at least 29 bits needed
-</span><span class="keyword">typedef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least32_t</span><span class="special">,</span> <code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">3600</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">hours</span><span class="special">;</span> <span class="comment">// at least 23 bits needed
+</span><span class="keyword">typedef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">,</span> <span class="identifier">nano</span><span class="special">&gt;</span> <span class="identifier">nanoseconds</span><span class="special">;</span> <span class="comment">// at least 64 bits needed
+</span><span class="keyword">typedef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">,</span> <span class="identifier">micro</span><span class="special">&gt;</span> <span class="identifier">microseconds</span><span class="special">;</span> <span class="comment">// at least 55 bits needed
+</span><span class="keyword">typedef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">&gt;</span> <span class="identifier">milliseconds</span><span class="special">;</span> <span class="comment">// at least 45 bits needed
+</span><span class="keyword">typedef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least64_t</span><span class="special">&gt;</span> <span class="identifier">seconds</span><span class="special">;</span> <span class="comment">// at least 35 bits needed
+</span><span class="keyword">typedef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least32_t</span><span class="special">,</span> <code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span> <span class="number">60</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">minutes</span><span class="special">;</span> <span class="comment">// at least 29 bits needed
+</span><span class="keyword">typedef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least32_t</span><span class="special">,</span> <code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">3600</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">hours</span><span class="special">;</span> <span class="comment">// at least 23 bits needed
 </span></pre>
 </div>
 </div>
@@ -1434,7 +1454,7 @@
 </h4></div></div></div>
 <p>
           A clock represents a bundle consisting of a <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, a <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, a <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>, and a function <code class="computeroutput"><span class="identifier">now</span><span class="special">()</span></code>
           to get the current <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>. A clock must meet
@@ -1487,7 +1507,7 @@
 <td>
                   <p>
                     The representation type of the <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> and <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> and <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>.
                   </p>
                 </td>
@@ -1524,7 +1544,7 @@
 <td>
                   <p>
                     The <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> type of the
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> type of the
                     <code class="computeroutput"><span class="identifier">clock</span></code>.
                   </p>
                 </td>
@@ -1550,7 +1570,7 @@
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> definition
                     if it is valid to compare their time_points by comparing their
                     respective <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a>. <code class="computeroutput"><span class="identifier">C1</span></code> and <code class="computeroutput"><span class="identifier">C2</span></code>
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s. <code class="computeroutput"><span class="identifier">C1</span></code> and <code class="computeroutput"><span class="identifier">C2</span></code>
                     must refer to the same epoch.
                   </p>
                 </td>
@@ -1563,7 +1583,7 @@
                 </td>
 <td>
                   <p>
- <code class="computeroutput"><span class="keyword">const</span> <span class="keyword">bool</span></code>
+ <code class="computeroutput"><span class="identifier">constexpr</span> <span class="keyword">bool</span></code>
                   </p>
                 </td>
 <td>
@@ -1645,24 +1665,24 @@
 <dt><span class="section">time_point non-member arithmetic</span></dt>
 <dt><span class="section">time_point non-member comparisons</span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point_cast">
- Non-Member function <code class="computeroutput"><span class="identifier">time_point_cast</span><span class="special">(</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="identifier">time_point_cast</span><span class="special">(</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
 </dl></div>
 <p>
- This file contains time_point specific classes and non-member function.
+ This file contains <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> specific classes and
+ non-member functions.
         </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">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">Duration</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&gt;</span> <span class="keyword">class</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <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">Duration</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&gt;</span> <span class="keyword">class</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">;</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">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
   <span class="keyword">struct</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.common_type_spe" title="
- common_type specialization"><code class="computeroutput"><span class="identifier">common_type</span></code></a><span class="special">&lt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;,</span>
- <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
+ common_type Specialization"><code class="computeroutput"><span class="identifier">common_type</span></code></a><span class="special">&lt;</span><span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;,</span>
+ <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
 
   <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
 
@@ -1686,27 +1706,28 @@
 
     <span class="comment">// time_point comparisons
 </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">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
- <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
                     <span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</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">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
- <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
                     <span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</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">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
- <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
                     <span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</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">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
- <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
                     <span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</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">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
- <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
                     <span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</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">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
- <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
                     <span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
 
     <span class="comment">// time_point_cast
 </span> <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ToDuration</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration</span><span class="special">&gt;</span>
- <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">ToDuration</span><span class="special">&gt;</span> <span class="identifier">time_point_cast</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration</span><span class="special">&gt;&amp;</span> <span class="identifier">t</span><span class="special">);</span>
+ <span class="identifier">constexpr</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">ToDuration</span><span class="special">&gt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point_cast" title="
+ Non-Member Function time_point_cast(time_point)"><code class="computeroutput"><span class="identifier">time_point_cast</span></code></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration</span><span class="special">&gt;&amp;</span> <span class="identifier">t</span><span class="special">);</span>
 
   <span class="special">}</span>
 <span class="special">}</span>
@@ -1718,21 +1739,21 @@
           <code class="computeroutput"><span class="identifier">common_type</span></code> specialization</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">,</span> <span class="keyword">class</span> <span class="identifier">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">::</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;,</span> <span class="identifier">chrono</span><span class="special">::</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+<span class="keyword">struct</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">::</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;,</span> <span class="identifier">chrono</span><span class="special">::</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;</span> <span class="special">&gt;</span>
 <span class="special">{</span>
- <span class="keyword">typedef</span> <span class="identifier">chrono</span><span class="special">::</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">typedef</span> <span class="identifier">chrono</span><span class="special">::</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Duration1</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
 <span class="special">};</span>
 </pre>
 <p>
             The <code class="computeroutput"><span class="identifier">common_type</span></code> of two
             <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code>'s</a> is a <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s is a <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> with the same <code class="computeroutput"><span class="identifier">clock</span></code> (both have the same <code class="computeroutput"><span class="identifier">clock</span></code>), and the <code class="computeroutput"><span class="identifier">common_type</span></code>
             of the two <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a>.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s.
           </p>
 </div>
 <div class="section" lang="en">
@@ -1747,17 +1768,17 @@
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_c_2">
             Constructor <code class="computeroutput"><span class="identifier">time_point</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_c_3">
- Constructor <code class="computeroutput"><span class="identifier">time_point</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;)</span></code></a></span></dt>
+ Copy Constructor <code class="computeroutput"><span class="identifier">time_point</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&amp;)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_since_epoch">
- Member function <code class="computeroutput"><span class="identifier">time_since_epoch</span><span class="special">()</span> <span class="keyword">const</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">time_since_epoch</span><span class="special">()</span> <span class="keyword">const</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_operator_pe">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_operator_me">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-=</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-=</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_min">
- Static Member function <code class="computeroutput"><span class="identifier">min</span></code></a></span></dt>
+ Static Member Function <code class="computeroutput"><span class="identifier">min</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_max">
- Static Member function <code class="computeroutput"><span class="identifier">max</span></code></a></span></dt>
+ Static Member Function <code class="computeroutput"><span class="identifier">max</span></code></a></span></dt>
 </dl></div>
 <p>
             A <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
@@ -1774,8 +1795,8 @@
 <span class="keyword">private</span><span class="special">:</span>
     <span class="identifier">duration</span> <span class="identifier">d_</span><span class="special">;</span> <span class="comment">// exposition only
 </span><span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">time_point</span><span class="special">();</span>
- <span class="keyword">explicit</span> <span class="identifier">time_point</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+ <span class="identifier">constexpr</span> <span class="identifier">time_point</span><span class="special">();</span>
+ <span class="identifier">constexpr</span> <span class="keyword">explicit</span> <span class="identifier">time_point</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
 
     <span class="comment">// conversions
 </span> <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
@@ -1783,7 +1804,7 @@
 
     <span class="comment">// observer
 </span>
- <span class="identifier">duration</span> <span class="identifier">time_since_epoch</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">constexpr</span> <span class="identifier">duration</span> <span class="identifier">time_since_epoch</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
 
     <span class="comment">// arithmetic
 </span>
@@ -1792,16 +1813,16 @@
 
     <span class="comment">// special values
 </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="keyword">static</span> <span class="identifier">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">constexpr</span> <span class="identifier">time_point</span> <span class="identifier">max</span><span class="special">();</span>
 <span class="special">};</span>
 </pre>
 <p>
- Clock must meet the Clock requirements.
+ Clock must meet the Clock requirements.
           </p>
 <p>
             Duration must be an instantiation of <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, compile diagnostic
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, compile diagnostic
             otherwise.
           </p>
 <div class="section" lang="en">
@@ -1810,7 +1831,7 @@
             Constructor time_point()">
             Constructor <code class="computeroutput"><span class="identifier">time_point</span><span class="special">()</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"><span class="identifier">time_point</span><span class="special">();</span>
+<pre class="programlisting"><span class="identifier">constexpr</span> <span class="identifier">time_point</span><span class="special">();</span>
 </pre>
 <p>
               <span class="bold"><strong>Effects:</strong></span> Constructs an object of
@@ -1828,7 +1849,7 @@
             Constructor time_point(const duration&amp;)">
             Constructor <code class="computeroutput"><span class="identifier">time_point</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="identifier">time_point</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+<pre class="programlisting"><span class="identifier">constexpr</span> <span class="identifier">time_point</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Effects:</strong></span> Constructs an object of
@@ -1842,17 +1863,17 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_c_3"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_c_3" title="
- Constructor time_point(const duration&amp;)">
- Constructor <code class="computeroutput"><span class="identifier">time_point</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;)</span></code></a>
+ Copy Constructor time_point(const time_point&amp;)">
+ Copy Constructor <code class="computeroutput"><span class="identifier">time_point</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_point</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">Duration2</span><span class="special">&gt;</span> <span class="identifier">time_point</span><span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span> <span class="identifier">time_point</span><span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;&amp;</span> <span class="identifier">t</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Requires:</strong></span> This function will not participate
               in overload resolution unless <code class="computeroutput"><span class="identifier">Duration2</span></code>
               is implicitly convertible to <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
             </p>
 <p>
               <span class="bold"><strong>Effects:</strong></span> Constructs an object of
@@ -1864,10 +1885,10 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_since_epoch"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_since_epoch" title="
- Member function time_since_epoch() const">
- Member function <code class="computeroutput"><span class="identifier">time_since_epoch</span><span class="special">()</span> <span class="keyword">const</span></code></a>
+ Member Function time_since_epoch() const">
+ Member Function <code class="computeroutput"><span class="identifier">time_since_epoch</span><span class="special">()</span> <span class="keyword">const</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">time_since_epoch</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">constexpr</span> <span class="identifier">duration</span> <span class="identifier">time_since_epoch</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">d_</span></code>.
@@ -1876,8 +1897,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_operator_pe"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_operator_pe" title="
- Member function operator+=">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=</span></code></a>
+ Member Function operator+=">
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="identifier">time_point</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">d</span><span class="special">);</span>
 </pre>
@@ -1892,8 +1913,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_operator_me"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_operator_me" title="
- Member function operator-=">
- Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-=</span></code></a>
+ Member Function operator-=">
+ Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-=</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="identifier">time_point</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">d</span><span class="special">);</span>
 </pre>
@@ -1908,10 +1929,10 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_min"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_min" title="
- Static Member function min">
- Static Member function <code class="computeroutput"><span class="identifier">min</span></code></a>
+ 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_CHRONO_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">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>.
@@ -1920,10 +1941,10 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_max"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point.time_point_max" title="
- Static Member function max">
- Static Member function <code class="computeroutput"><span class="identifier">max</span></code></a>
+ 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_CHRONO_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">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>.
@@ -1936,24 +1957,24 @@
 </h5></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_arithmetic.time_point_operator_p_1">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_arithmetic.time_point_operator_p_2">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_arithmetic.time_point_operator_m_1">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_arithmetic.time_point_operator_m_2">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_arithmetic.time_point_operator_p_1"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_arithmetic.time_point_operator_p_1" title="
- Non-Member function operator+(time_point,duration)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function operator+(time_point,duration)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</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">,</span> <span class="keyword">class</span> <span class="identifier">Duration1</span><span class="special">,</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>
- <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+<a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Duration1</span><span class="special">,</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;</span> <span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
-<span class="keyword">operator</span><span class="special">+(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+<span class="keyword">operator</span><span class="special">+(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
 </pre>
@@ -1965,14 +1986,14 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_arithmetic.time_point_operator_p_2"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_arithmetic.time_point_operator_p_2" title="
- Non-Member function operator+(duration,time_point)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a>
+ Non-Member Function operator+(duration,time_point)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</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">Rep1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
- <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+<a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;,</span> <span class="identifier">Duration2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
 <span class="keyword">operator</span><span class="special">+(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep1</span><span class="special">,</span> <span class="identifier">Period1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
- <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
 </pre>
 <p>
@@ -1983,13 +2004,13 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_arithmetic.time_point_operator_m_1"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_arithmetic.time_point_operator_m_1" title="
- Non-Member function operator-(time_point,duration)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</span></code></a>
+ Non-Member Function operator-(time_point,duration)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">duration</span><span class="special">)</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">,</span> <span class="keyword">class</span> <span class="identifier">Duration1</span><span class="special">,</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>
- <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+<a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Duration1</span><span class="special">,</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;</span> <span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
-<span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+<span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</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">rhs</span><span class="special">);</span>
 </pre>
@@ -2001,14 +2022,14 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_arithmetic.time_point_operator_m_2"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_arithmetic.time_point_operator_m_2" title="
- Non-Member function operator-(duration,time_point)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-(</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a>
+ Non-Member Function operator-(time_point,time_point)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">-(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</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">,</span> <span class="keyword">class</span> <span class="identifier">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
 <span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="identifier">Duration1</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;::</span><span class="identifier">type</span>
-<span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+<span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
- <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
 </pre>
 <p>
@@ -2022,28 +2043,28 @@
 </h5></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_eq">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">==(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">==(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_neq">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">!=(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">!=(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_lt">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_leq">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;=(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;=(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_gt">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_geq">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;=(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;=(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_eq"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_eq" title="
- Non-Member function operator==(time_point,time_point)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">==(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a>
+ Non-Member Function operator==(time_point,time_point)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">==(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</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">,</span> <span class="keyword">class</span> <span class="identifier">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
- <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
 </pre>
 <p>
@@ -2053,8 +2074,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_neq"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_neq" title="
- Non-Member function operator!=(time_point,time_point)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">!=(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a>
+ Non-Member Function operator!=(time_point,time_point)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">!=(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a>
 </h6></div></div></div>
 <p>
               template &lt;class Clock, class Duration1, class Duration2&gt; bool
@@ -2072,13 +2093,13 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_lt"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_lt" title="
- Non-Member function operator&lt;(time_point,time_point)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a>
+ Non-Member Function operator&lt;(time_point,time_point)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</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">,</span> <span class="keyword">class</span> <span class="identifier">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;</span> <span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;</span> <span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
- <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
 </pre>
 <p>
@@ -2089,13 +2110,13 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_leq"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_leq" title="
- Non-Member function operator&lt;=(time_point,time_point)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;=(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a>
+ Non-Member Function operator&lt;=(time_point,time_point)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;=(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</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">,</span> <span class="keyword">class</span> <span class="identifier">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
- <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
 </pre>
 <p>
@@ -2106,8 +2127,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_gt"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_gt" title="
- Non-Member function operator&gt;(time_point,time_point)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a>
+ Non-Member Function operator&gt;(time_point,time_point)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a>
 </h6></div></div></div>
 <p>
               template &lt;class Clock, class Duration1, class Duration2&gt; bool
@@ -2125,13 +2146,13 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_geq"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp._time_point__non_member_comparisons.time_point_operator_geq" title="
- Non-Member function operator&gt;=(time_point,time_point)">
- Non-Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;=(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</span></code></a>
+ Non-Member Function operator&gt;=(time_point,time_point)">
+ Non-Member Function <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;=(</span><span class="identifier">time_point</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">)</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">,</span> <span class="keyword">class</span> <span class="identifier">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
- <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
 </pre>
 <p>
@@ -2143,23 +2164,25 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.cpp0x.time_point_hpp.time_point_cast"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point_cast" title="
- Non-Member function time_point_cast(time_point)">
- Non-Member function <code class="computeroutput"><span class="identifier">time_point_cast</span><span class="special">(</span><span class="identifier">time_point</span><span class="special">)</span></code></a>
+ Non-Member Function time_point_cast(time_point)">
+ Non-Member Function <code class="computeroutput"><span class="identifier">time_point_cast</span><span class="special">(</span><span class="identifier">time_point</span><span class="special">)</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">ToDuration</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration</span><span class="special">&gt;</span>
- <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">ToDuration</span><span class="special">&gt;</span> <span class="identifier">time_point_cast</span><span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+<a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">ToDuration</span><span class="special">&gt;</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point_cast" title="
+ Non-Member Function time_point_cast(time_point)"><code class="computeroutput"><span class="identifier">time_point_cast</span></code></a><span class="special">(</span><span class="keyword">const</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration</span><span class="special">&gt;&amp;</span> <span class="identifier">t</span><span class="special">);</span>
 </pre>
 <p>
             <span class="bold"><strong>Requires:</strong></span> This function will not participate
             in overload resolution unless <code class="computeroutput"><span class="identifier">ToDuration</span></code>
             is an instantiation of <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
           </p>
 <p>
- <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">ToDuration</span><span class="special">&gt;(</span><span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">ToDuration</span><span class="special">&gt;(</span><span class="identifier">t</span><span class="special">.</span><span class="identifier">time_since_epoch</span><span class="special">()))</span></code>.
+ <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">ToDuration</span><span class="special">&gt;(</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><span class="identifier">ToDuration</span><span class="special">&gt;(</span><span class="identifier">t</span><span class="special">.</span><span class="identifier">time_since_epoch</span><span class="special">()))</span></code>.
           </p>
 </div>
 </div>
@@ -2186,11 +2209,11 @@
   <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
 
     <span class="comment">// Clocks
-</span> <span class="keyword">class</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+</span> <span class="keyword">class</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
           Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">;</span>
- <span class="keyword">class</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
+ <span class="keyword">class</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
           Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a><span class="special">;</span>
- <span class="keyword">class</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
+ <span class="keyword">class</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
           Class high_resolution_clock"><code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a><span class="special">;</span>
 
   <span class="special">}</span>
@@ -2204,13 +2227,14 @@
 </h5></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock.to_time_t">
- Static member function <code class="computeroutput"><span class="identifier">to_time_t</span><span class="special">(</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
+ Static Member Function <code class="computeroutput"><span class="identifier">to_time_t</span><span class="special">(</span><span class="identifier">time_point</span><span class="special">)</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock.from_time_t">
- Static member function <code class="computeroutput"><span class="identifier">from_time_t</span><span class="special">(</span><span class="identifier">time_t</span><span class="special">)</span></code></a></span></dt>
+ Static Member Function <code class="computeroutput"><span class="identifier">from_time_t</span><span class="special">(</span><span class="identifier">time_t</span><span class="special">)</span></code></a></span></dt>
 </dl></div>
 <p>
- The <code class="computeroutput"><span class="identifier">system_clock</span></code> class
- provides a means of obtaining the current wall-clock time from the system-wide
+ The <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a> class provides
+ a means of obtaining the current wall-clock time from the system-wide
             real-time clock. The current time can be obtained by calling <code class="computeroutput"><span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span></code>.
             Instances of <code class="computeroutput"><span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">time_point</span></code>
             can be converted to and from time_t with the <code class="computeroutput"><span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">to_time_t</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">to_time_point</span><span class="special">()</span></code> functions. If system clock is not monotonic,
@@ -2218,34 +2242,54 @@
             call (e.g. if the operating system clock is manually adjusted, or synchronized
             with an external clock).
           </p>
+<p>
+ The current implementation of <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a> is related an epoch
+ (midnight UTC of January 1, 1970), but this is not in the contract. You
+ need to use the static function static
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">time_t</span> <span class="identifier">to_time_t</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
+</pre>
+<p>
+ which returns a <code class="computeroutput"><span class="identifier">time_t</span></code>
+ type that is based on midnight UTC of January 1, 1970.
+ </p>
 <pre class="programlisting"><span class="keyword">class</span> <span class="identifier">system_clock</span> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">BOOST_SYSTEM_CLOCK_DURATION</span> <span class="identifier">duration</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>see bellow</em></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">system_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">false</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="identifier">is_monotonic</span> <span class="special">=</span> <span class="keyword">false</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="comment">// throws on error
 </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="comment">// never throws
 </span>
- <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">time_t</span> <span class="identifier">to_time_t</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
+ <span class="comment">// Map to C API
+</span> <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">time_t</span> <span class="identifier">to_time_t</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
     <span class="keyword">static</span> <span class="identifier">time_point</span> <span class="identifier">from_time_t</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">time_t</span> <span class="identifier">t</span><span class="special">);</span>
 <span class="special">};</span>
 </pre>
 <p>
- <code class="computeroutput"><span class="identifier">system_clock</span></code> satisfy
- the Clock requirements:
+ <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a> satisfy the Clock
+ requirements:
           </p>
-<div class="itemizedlist"><ul type="disc"><li>
+<div class="itemizedlist"><ul type="disc">
+<li>
                 <code class="computeroutput"><span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">duration</span><span class="special">::</span><span class="identifier">min</span><span class="special">()</span>
                 <span class="special">&lt;</span> <span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">duration</span><span class="special">::</span><span class="identifier">zero</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>.
- </li></ul></div>
+ </li>
+<li>
+ The nested duration typedef has a resolution that depends on the
+ one provided by the platform.
+ </li>
+</ul></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock.to_time_t"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock.to_time_t" title="
- Static member function to_time_t(time_point)">
- Static member function <code class="computeroutput"><span class="identifier">to_time_t</span><span class="special">(</span><span class="identifier">time_point</span><span class="special">)</span></code></a>
+ Static Member Function to_time_t(time_point)">
+ Static Member Function <code class="computeroutput"><span class="identifier">to_time_t</span><span class="special">(</span><span class="identifier">time_point</span><span class="special">)</span></code></a>
 </h6></div></div></div>
 <p>
               time_t to_time_t(const time_point&amp; t);
@@ -2261,8 +2305,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock.from_time_t"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock.from_time_t" title="
- Static member function from_time_t(time_t)">
- Static member function <code class="computeroutput"><span class="identifier">from_time_t</span><span class="special">(</span><span class="identifier">time_t</span><span class="special">)</span></code></a>
+ Static Member Function from_time_t(time_t)">
+ Static Member Function <code class="computeroutput"><span class="identifier">from_time_t</span><span class="special">(</span><span class="identifier">time_t</span><span class="special">)</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">from_time_t</span><span class="special">(</span><span class="identifier">time_t</span> <span class="identifier">t</span><span class="special">);</span>
 </pre>
@@ -2271,7 +2315,7 @@
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> such that the
               <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> and <code class="computeroutput"><span class="identifier">t</span></code> represent the same point in time,
- truncated to the courser of the precisions among <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ truncated to the coarser of the precisions among <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> and <code class="computeroutput"><span class="identifier">t</span></code>.
             </p>
 </div>
@@ -2295,8 +2339,8 @@
 <p>
             <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
           Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a> satisfy the
- <a href="cpp0x.html#boost_chrono.reference.cpp0x.clock" title=" Clock Requirements"><code class="computeroutput"><span class="identifier">Clock</span></code>
- requirements</a>.
+ Clock
+ requirements.
           </p>
 <p>
             <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
@@ -2306,13 +2350,13 @@
             values returned by <code class="computeroutput"><span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span></code> and wall-clock time.
           </p>
 <pre class="programlisting"><span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_HAS_CLOCK_MONOTONIC</span>
- <span class="keyword">class</span> <span class="identifier">BOOST_CHRONO_DECL</span> <span class="identifier">monotonic_clock</span> <span class="special">{</span>
+ <span class="keyword">class</span> <span class="identifier">monotonic_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">monotonic_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">constexpr</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="comment">// throws on error
 </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="comment">// never throws
@@ -2327,14 +2371,17 @@
           Class <code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a>
 </h5></div></div></div>
 <p>
- <code class="computeroutput"><span class="identifier">high_resolution_clock</span></code>
- satisfy the Clock requirements.
+ <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
+ Class high_resolution_clock"><code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a> satisfy
+ the Clock requirements.
           </p>
 <pre class="programlisting"><span class="preprocessor">#ifdef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.BOOST_CHRONO_HAS_CLOCK_MONOTONIC" title="
           Macro BOOST_CHRONO_HAS_CLOCK_MONOTONIC"><code class="computeroutput"><span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span></code></a>
- <span class="keyword">typedef</span> <span class="identifier">monotonic_clock</span> <span class="identifier">high_resolution_clock</span><span class="special">;</span> <span class="comment">// as permitted by [time.clock.hires]
+ <span class="keyword">typedef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
+ Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a> <span class="identifier">high_resolution_clock</span><span class="special">;</span> <span class="comment">// as permitted by [time.clock.hires]
 </span><span class="preprocessor">#else</span>
- <span class="keyword">typedef</span> <span class="identifier">system_clock</span> <span class="identifier">high_resolution_clock</span><span class="special">;</span> <span class="comment">// as permitted by [time.clock.hires]
+ <span class="keyword">typedef</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a> <span class="identifier">high_resolution_clock</span><span class="special">;</span> <span class="comment">// as permitted by [time.clock.hires]
 </span><span class="preprocessor">#endif</span>
 </pre>
 </div>
@@ -2347,9 +2394,10 @@
 </h4></div></div></div>
 <p>
           Register <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>
- and <span class="underline">_timepoint</span>_<code class="computeroutput"><span class="special">&lt;&gt;</span></code>
- class templates to Boost.Typeof.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>
+ and <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>
+ class templates to <span class="bold"><strong>Boost.Typeof</strong></span>.
         </p>
 </div>
 </div>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/deprecated.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/deprecated.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/deprecated.html 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -187,7 +187,7 @@
     <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> <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">typedef</span> <span class="identifier">chrono</span><span class="special">::</span><a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">process_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>
 

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/io.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/io.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/io.html 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -4,11 +4,11 @@
 <title> Chrono I/O</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 0.7.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
 <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="other_clocks.html" title=" Other clocks">
+ Recommendation">
+<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>
@@ -31,34 +31,34 @@
 <dt><span class="section"> Header <boost/chrono/chrono_io.hpp></span></dt>
 <dd><dl>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct">
- Template class <code class="computeroutput"><span class="identifier">duration_punct</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+ Template Class <code class="computeroutput"><span class="identifier">duration_punct</span><span class="special">&lt;&gt;</span></code></a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string">
- Template class <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+ Template Class <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;&gt;</span></code></a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_system_clock">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">system_clock</span><span class="special">&gt;</span></code>
- specialization</a></span></dt>
+ Specialization</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_monotonic_clock">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">monotonic_clock</span><span class="special">&gt;</span></code>
- specialization</a></span></dt>
+ Specialization</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_thread_clock">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">thread_clock</span><span class="special">&gt;</span></code>
- specialization</a></span></dt>
+ Specialization</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_process_real_cpu_clock">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_real_cpu_clock</span><span class="special">&gt;</span></code>
- specialization</a></span></dt>
+ Specialization</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_process_user_cpu_clock">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_user_cpu_clock</span><span class="special">&gt;</span></code>
- specialization</a></span></dt>
+ Specialization</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_process_system_cpu_clock">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_system_cpu_clock</span><span class="special">&gt;</span></code>
- specialization</a></span></dt>
+ Specialization</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_process_cpu_clock">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_cpu_clock</span><span class="special">&gt;</span></code>
- specialization</a></span></dt>
+ Specialization</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.manipulators">
           I/O Manipulators</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.streams">
- I/O Streams operations</a></span></dt>
+ I/O Streams Operations</a></span></dt>
 </dl></dd>
 </dl></div>
 <div class="section" lang="en">
@@ -67,34 +67,34 @@
 </h4></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct">
- Template class <code class="computeroutput"><span class="identifier">duration_punct</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+ Template Class <code class="computeroutput"><span class="identifier">duration_punct</span><span class="special">&lt;&gt;</span></code></a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string">
- Template class <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+ Template Class <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;&gt;</span></code></a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_system_clock">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">system_clock</span><span class="special">&gt;</span></code>
- specialization</a></span></dt>
+ Specialization</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_monotonic_clock">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">monotonic_clock</span><span class="special">&gt;</span></code>
- specialization</a></span></dt>
+ Specialization</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_thread_clock">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">thread_clock</span><span class="special">&gt;</span></code>
- specialization</a></span></dt>
+ Specialization</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_process_real_cpu_clock">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_real_cpu_clock</span><span class="special">&gt;</span></code>
- specialization</a></span></dt>
+ Specialization</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_process_user_cpu_clock">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_user_cpu_clock</span><span class="special">&gt;</span></code>
- specialization</a></span></dt>
+ Specialization</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_process_system_cpu_clock">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_system_cpu_clock</span><span class="special">&gt;</span></code>
- specialization</a></span></dt>
+ Specialization</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_process_cpu_clock">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_cpu_clock</span><span class="special">&gt;</span></code>
- specialization</a></span></dt>
+ Specialization</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.manipulators">
           I/O Manipulators</a></span></dt>
 <dt><span class="section"><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.streams">
- I/O Streams operations</a></span></dt>
+ I/O Streams Operations</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>
@@ -137,22 +137,22 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.io.chrono_io_hpp.duration_punct"></a><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;">
- Template class <code class="computeroutput"><span class="identifier">duration_punct</span><span class="special">&lt;&gt;</span></code></a>
+ Template Class duration_punct&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">duration_punct</span><span class="special">&lt;&gt;</span></code></a>
 </h5></div></div></div>
 <p>
             The <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> unit names can be customized
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> unit names can be customized
             through the facet: <a href="io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a>. <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> unit names come in
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a>. <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> unit names come in
             two varieties: long and short. The default constructed <a href="io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> provides names
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> provides names
             in the long format. These names are English descriptions. Other languages
             are supported by constructing a <a href="io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> with the proper
- spellings for hours, "minutes" and "seconds", and
- their abbreviations (for the short format).
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> with the proper
+ spellings for "hours", "minutes" and "seconds",
+ and their abbreviations (for the short format).
           </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">CharT</span><span class="special">&gt;</span>
 <span class="keyword">class</span> <span class="identifier">duration_punct</span>
@@ -185,8 +185,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.io.chrono_io_hpp.clock_string"></a><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string" title="
- Template class clock_string&lt;&gt;">
- Template class <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;&gt;</span></code></a>
+ Template Class clock_string&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;&gt;</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">,</span> <span class="keyword">class</span> <span class="identifier">CharT</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">clock_string</span><span class="special">;</span>
@@ -208,9 +208,9 @@
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.io.chrono_io_hpp.clock_string_system_clock"></a><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_system_clock" title="
           clock_string&lt;system_clock&gt;
- specialization">
+ Specialization">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">system_clock</span><span class="special">&gt;</span></code>
- specialization</a>
+ Specialization</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">CharT</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">system_clock</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">&gt;</span>
@@ -228,9 +228,9 @@
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.io.chrono_io_hpp.clock_string_monotonic_clock"></a><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_monotonic_clock" title="
           clock_string&lt;monotonic_clock&gt;
- specialization">
+ Specialization">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">monotonic_clock</span><span class="special">&gt;</span></code>
- specialization</a>
+ Specialization</a>
 </h5></div></div></div>
 <pre class="programlisting"><span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span>
 
@@ -251,9 +251,9 @@
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.io.chrono_io_hpp.clock_string_thread_clock"></a><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_thread_clock" title="
           clock_string&lt;thread_clock&gt;
- specialization">
+ Specialization">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">thread_clock</span><span class="special">&gt;</span></code>
- specialization</a>
+ Specialization</a>
 </h5></div></div></div>
 <pre class="programlisting"><span class="preprocessor">#if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_CHRONO_HAS_THREAD_CLOCK</span><span class="special">)</span>
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">CharT</span><span class="special">&gt;</span>
@@ -273,9 +273,9 @@
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.io.chrono_io_hpp.clock_string_process_real_cpu_clock"></a><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_process_real_cpu_clock" title="
           clock_string&lt;process_real_cpu_clock&gt;
- specialization">
+ Specialization">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_real_cpu_clock</span><span class="special">&gt;</span></code>
- specialization</a>
+ Specialization</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">CharT</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_real_cpu_clock</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">&gt;</span>
@@ -293,9 +293,9 @@
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.io.chrono_io_hpp.clock_string_process_user_cpu_clock"></a><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_process_user_cpu_clock" title="
           clock_string&lt;process_user_cpu_clock&gt;
- specialization">
+ Specialization">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_user_cpu_clock</span><span class="special">&gt;</span></code>
- specialization</a>
+ Specialization</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">CharT</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_user_cpu_clock</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">&gt;</span>
@@ -313,9 +313,9 @@
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.io.chrono_io_hpp.clock_string_process_system_cpu_clock"></a><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_process_system_cpu_clock" title="
           clock_string&lt;process_system_cpu_clock&gt;
- specialization">
+ Specialization">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_system_cpu_clock</span><span class="special">&gt;</span></code>
- specialization</a>
+ Specialization</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">CharT</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_system_cpu_clock</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">&gt;</span>
@@ -333,9 +333,9 @@
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.io.chrono_io_hpp.clock_string_process_cpu_clock"></a><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.clock_string_process_cpu_clock" title="
           clock_string&lt;process_cpu_clock&gt;
- specialization">
+ Specialization">
           <code class="computeroutput"><span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_cpu_clock</span><span class="special">&gt;</span></code>
- specialization</a>
+ Specialization</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">CharT</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">clock_string</span><span class="special">&lt;</span><span class="identifier">process_cpu_clock</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">&gt;</span>
@@ -365,8 +365,10 @@
 </pre>
 <p>
             <span class="bold"><strong>Effects:</strong></span> Set the <a href="io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> facet to stream
- durations and time_points as abreviations.
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> facet to stream
+ <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>s and <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>s as abreviations.
           </p>
 <p>
             <span class="bold"><strong>Returns:</strong></span> the output stream
@@ -377,7 +379,7 @@
 </pre>
 <p>
             <span class="bold"><strong>Effects:</strong></span> Set the <a href="io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> facet to stream
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> facet to stream
             durations and time_points as long text.
           </p>
 <p>
@@ -387,33 +389,33 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.io.chrono_io_hpp.streams"></a><a href="io.html#boost_chrono.reference.io.chrono_io_hpp.streams" title="
- I/O Streams operations">
- I/O Streams operations</a>
+ I/O Streams Operations">
+ I/O Streams Operations</a>
 </h5></div></div></div>
 <p>
             Any <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> can be streamed out
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> can be streamed out
             to a <code class="computeroutput"><span class="identifier">basic_ostream</span></code>. The
             run time value of the <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> is formatted according
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> is formatted according
             to the rules and current format settings for <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><code class="computeroutput"><span class="special">::</span><span class="identifier">rep</span></code>. This is followed by a single space
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><code class="computeroutput"><span class="special">::</span><span class="identifier">rep</span></code>. This is followed by a single space
             and then the compile time unit name of the <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. This unit name is
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. This unit name is
             built on the string returned from <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;&gt;</span></code> and the data used to construct
             the <a href="io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> which was inserted
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> which was inserted
             into the stream's locale. If a <a href="io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> has not been
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> has not been
             inserted into the stream's locale, a default constructed <a href="io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> will be added
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> will be added
             to the stream's locale.
           </p>
 <p>
             A <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> is formatted by outputting
             its internal <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> followed by a string
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> followed by a string
             that describes the <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><code class="computeroutput"><span class="special">::</span><span class="identifier">clock</span></code> epoch. This string will vary
             for each distinct clock, and for each implementation of the supplied
@@ -425,9 +427,9 @@
 </pre>
 <p>
             <span class="bold"><strong>Effects:</strong></span> outputs the <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> as an abrevieated or
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> as an abrevieated or
             long text format depending on the state of the <a href="io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> facet.
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> facet.
           </p>
 <p>
             <span class="bold"><strong>Returns:</strong></span> the output stream
@@ -438,7 +440,7 @@
 </pre>
 <p>
             <span class="bold"><strong>Effects:</strong></span> reads a <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> from the input stream.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> from the input stream.
             If a format error is found, the input stream state will be set to <code class="computeroutput"><span class="identifier">failbit</span></code>.
           </p>
 <p>
@@ -453,7 +455,7 @@
             <span class="bold"><strong>Effects:</strong></span> outputs the <a href="cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> as an abrevieated
             or long text format depending on the state of the <a href="io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> facet.
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> facet.
           </p>
 <p>
             <span class="bold"><strong>Returns:</strong></span> the output stream

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/other_clocks.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/other_clocks.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/other_clocks.html 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -1,13 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title> Other clocks</title>
+<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 0.7.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
 <link rel="up" href="../reference.html" title=" Reference ">
 <link rel="prev" href="io.html" title=" Chrono I/O">
-<link rel="next" href="deprecated.html" title=" Deprecated Headers">
+<link rel="next" href="../appendices.html" title="Appendices">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,11 +20,11 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="io.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deprecated.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="io.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../appendices.html"><img src="../../../../../../doc/src/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
+<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">
@@ -41,12 +41,12 @@
 <dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.times">
           Class <code class="computeroutput"><span class="identifier">process_cpu_clock</span><span class="special">::</span><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.times_io">
- <code class="computeroutput"><span class="identifier">process_cpu_clock</span><span class="special">::</span><span class="identifier">times</span></code> input/output</a></span></dt>
+ <code class="computeroutput"><span class="identifier">process_cpu_clock</span><span class="special">::</span><span class="identifier">times</span></code> Input/Output</a></span></dt>
 <dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.times_duration_values">
- <code class="computeroutput"><span class="identifier">duration_values</span></code> specialization
+ <code class="computeroutput"><span class="identifier">duration_values</span></code> Specialization
           for <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.times_numeric_limits">
- <code class="computeroutput"><span class="identifier">numeric_limits</span></code> specialization
+ <code class="computeroutput"><span class="identifier">numeric_limits</span></code> Specialization
           for <code class="computeroutput"><span class="identifier">times</span></code></a></span></dt>
 </dl></dd>
 <dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp">
@@ -78,12 +78,12 @@
 <dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.times">
           Class <code class="computeroutput"><span class="identifier">process_cpu_clock</span><span class="special">::</span><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.times_io">
- <code class="computeroutput"><span class="identifier">process_cpu_clock</span><span class="special">::</span><span class="identifier">times</span></code> input/output</a></span></dt>
+ <code class="computeroutput"><span class="identifier">process_cpu_clock</span><span class="special">::</span><span class="identifier">times</span></code> Input/Output</a></span></dt>
 <dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.times_duration_values">
- <code class="computeroutput"><span class="identifier">duration_values</span></code> specialization
+ <code class="computeroutput"><span class="identifier">duration_values</span></code> Specialization
           for <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.times_numeric_limits">
- <code class="computeroutput"><span class="identifier">numeric_limits</span></code> specialization
+ <code class="computeroutput"><span class="identifier">numeric_limits</span></code> Specialization
           for <code class="computeroutput"><span class="identifier">times</span></code></a></span></dt>
 </dl></div>
 <p>
@@ -92,6 +92,9 @@
           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>
+<p>
+ Process clocks don't include the time spent by the child process.
+ </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>
@@ -127,7 +130,7 @@
 <p>
             <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="
           Class process_real_cpu_clock"><code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a> satisfy
- the Clock requirements.
+ the Clock requirements.
           </p>
 <p>
             <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="
@@ -142,7 +145,7 @@
     <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">constexpr</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>
@@ -157,7 +160,7 @@
 <p>
             <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_user_cpu_clock" title="
           Class process_user_cpu_clock"><code class="computeroutput"><span class="identifier">process_user_cpu_clock</span></code></a> satisfy
- the Clock requirements.
+ the Clock requirements.
           </p>
 <p>
             <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_user_cpu_clock" title="
@@ -171,7 +174,7 @@
     <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">constexpr</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>
@@ -186,7 +189,7 @@
 <p>
             <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_system_cpu_clock" title="
           Class process_system_cpu_clock"><code class="computeroutput"><span class="identifier">process_system_cpu_clock</span></code></a> satisfy
- the Clock requirements.
+ the Clock requirements.
           </p>
 <p>
             <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_system_cpu_clock" title="
@@ -201,7 +204,7 @@
     <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">constexpr</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>
@@ -236,7 +239,7 @@
     <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">constexpr</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>
@@ -279,8 +282,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.times_io"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.times_io" title="
- process_cpu_clock::times input/output">
- <code class="computeroutput"><span class="identifier">process_cpu_clock</span><span class="special">::</span><span class="identifier">times</span></code> input/output</a>
+ process_cpu_clock::times Input/Output">
+ <code class="computeroutput"><span class="identifier">process_cpu_clock</span><span class="special">::</span><span class="identifier">times</span></code> Input/Output</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">CharT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Traits</span><span class="special">&gt;</span>
 <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">&gt;&amp;</span>
@@ -307,14 +310,14 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.times_duration_values"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.times_duration_values" title="
- duration_values specialization
+ duration_values Specialization
           for times">
- <code class="computeroutput"><span class="identifier">duration_values</span></code> specialization
+ <code class="computeroutput"><span class="identifier">duration_values</span></code> Specialization
           for <code class="computeroutput"><span class="identifier">times</span></code></a>
 </h5></div></div></div>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;&gt;</span>
 <span class="keyword">struct</span> <a href="cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.traits.duration_values" title="
- Class template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a><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>
+ Class Template duration_values"><code class="computeroutput"><span class="identifier">duration_values</span></code></a><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>
@@ -332,9 +335,9 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.times_numeric_limits"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.times_numeric_limits" title="
- numeric_limits specialization
+ numeric_limits Specialization
           for times">
- <code class="computeroutput"><span class="identifier">numeric_limits</span></code> specialization
+ <code class="computeroutput"><span class="identifier">numeric_limits</span></code> Specialization
           for <code class="computeroutput"><span class="identifier">times</span></code></a>
 </h5></div></div></div>
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">std</span> <span class="special">{</span>
@@ -440,8 +443,8 @@
 </h5></div></div></div>
 <p>
             <a href="other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a> satisfy the <a href="cpp0x.html#boost_chrono.reference.cpp0x.clock" title=" Clock Requirements"><code class="computeroutput"><span class="identifier">Clock</span></code>
- requirements</a>.
+ Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a> satisfy the Clock
+ requirements.
           </p>
 <p>
             <a href="other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
@@ -456,7 +459,7 @@
     <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">thread_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="identifier">BOOST_CHRONO_THREAD_CLOCK_IS_MONOTONIC</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="identifier">is_monotonic</span> <span class="special">=</span> <span class="identifier">BOOST_CHRONO_THREAD_CLOCK_IS_MONOTONIC</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>
@@ -474,7 +477,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="io.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deprecated.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="io.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../appendices.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide.html 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -1,11 +1,11 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title> Users'Guide</title>
+<title> User's Guide</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 0.7.0">
-<link rel="up" href="../index.html" title="Boost.Chrono 0.7.0">
+<link rel="start" href="../index.html" title="Boost.Chrono 0.7.1">
+<link rel="up" href="../index.html" title="Boost.Chrono 0.7.1">
 <link rel="prev" href="overview/description.html" title="Description">
 <link rel="next" href="users_guide/getting_started.html" title=" Getting Started">
 </head>
@@ -24,7 +24,7 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_chrono.users_guide"></a> Users'Guide
+<a name="boost_chrono.users_guide"></a> User's Guide
 </h2></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"> Getting Started</span></dt>
@@ -40,18 +40,17 @@
 <dt><span class="section">Clocks</span></dt>
 <dt><span class="section"><a href="users_guide/tutorial.html#boost_chrono.users_guide.tutorial.time_point">Time
         Point</a></span></dt>
+<dt><span class="section"><a href="users_guide/tutorial.html#boost_chrono.users_guide.tutorial.specific_clocks">Specific
+ Clocks</a></span></dt>
 <dt><span class="section">I/O</span></dt>
 </dl></dd>
 <dt><span class="section">Examples</span></dt>
 <dd><dl>
-<dt><span class="section"><a href="users_guide/examples.html#boost_chrono.users_guide.examples.time_point">Time
- point</a></span></dt>
 <dt><span class="section">Duration</span></dt>
 <dt><span class="section">Clocks</span></dt>
-<dt><span class="section">Conversions</span></dt>
-<dt><span class="section">Reporting</span></dt>
-<dt><span class="section"><a href="users_guide/examples.html#boost_chrono.users_guide.examples.simulated_thread_interface_demonstration_program">Simulated
- thread interface demonstration program</a></span></dt>
+<dt><span class="section"><a href="users_guide/examples.html#boost_chrono.users_guide.examples.time_point">Time
+ Point</a></span></dt>
+<dt><span class="section">IO</span></dt>
 </dl></dd>
 <dt><span class="section"> External Resources</span></dt>
 </dl></div>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/examples.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/examples.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/examples.html 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -4,8 +4,8 @@
 <title>Examples</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 0.7.0">
-<link rel="up" href="../users_guide.html" title=" Users'Guide">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
+<link rel="up" href="../users_guide.html" title=" User's Guide">
 <link rel="prev" href="tutorial.html" title="Tutorial">
 <link rel="next" href="ext_references.html" title=" External Resources">
 </head>
@@ -27,15 +27,13 @@
 <a name="boost_chrono.users_guide.examples"></a>Examples
 </h3></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.time_point">Time
- point</a></span></dt>
-<dd><dl><dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.time_point.min_utility">min
- utility</a></span></dt></dl></dd>
 <dt><span class="section">Duration</span></dt>
 <dd><dl>
 <dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.duration.how_you_override_the_duration_s_default_constructor">How
- you override the duration's default constructor</a></span></dt>
+ you Override the Duration's Default Constructor</a></span></dt>
 <dt><span class="section">Saturating</span></dt>
+<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.duration.xtime_conversions">xtime
+ Conversions</a></span></dt>
 </dl></dd>
 <dt><span class="section">Clocks</span></dt>
 <dd><dl>
@@ -43,75 +41,36 @@
           count</a></span></dt>
 <dt><span class="section">xtime_clock</span></dt>
 </dl></dd>
-<dt><span class="section">Conversions</span></dt>
-<dd><dl><dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.conversions.xtime_conversions">xtime
- conversions</a></span></dt></dl></dd>
-<dt><span class="section">Reporting</span></dt>
+<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.time_point">Time
+ Point</a></span></dt>
 <dd><dl>
-<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.reporting.a_tiny_program_that_times_how_long_until_a_key_is_struck">A
- tiny program that times how long until a key is struck</a></span></dt>
-<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.reporting.24_hours_display">24
- hours display</a></span></dt>
+<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.time_point.min_utility">min
+ Utility</a></span></dt>
+<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.time_point.a_tiny_program_that_times_how_long_until_a_key_is_struck">A
+ Tiny Program that Times How Long Until a Key is Struck</a></span></dt>
+<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.time_point.24_hours_display">24
+ Hours Display</a></span></dt>
+<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.time_point.simulated_thread_interface_demonstration_program">Simulated
+ Thread Interface Demonstration Program</a></span></dt>
 </dl></dd>
-<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.simulated_thread_interface_demonstration_program">Simulated
- thread interface demonstration program</a></span></dt>
+<dt><span class="section">IO</span></dt>
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="boost_chrono.users_guide.examples.time_point"></a><a href="examples.html#boost_chrono.users_guide.examples.time_point" title="Time
- point">Time
- point</a>
-</h4></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.time_point.min_utility">min
- utility</a></span></dt></dl></div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.users_guide.examples.time_point.min_utility"></a><a href="examples.html#boost_chrono.users_guide.examples.time_point.min_utility" title="min
- utility">min
- utility</a>
-</h5></div></div></div>
-<p>
- The following function returns the earliest time_point.
- </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">,</span> <span class="keyword">class</span> <span class="identifier">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;,</span>
- <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
-<span class="identifier">min</span><span class="special">(</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;</span> <span class="identifier">t1</span><span class="special">,</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;</span> <span class="identifier">t2</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">t2</span> <span class="special">&lt;</span> <span class="identifier">t1</span> <span class="special">?</span> <span class="identifier">t2</span> <span class="special">:</span> <span class="identifier">t1</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Being able to <span class="bold"><strong>easily</strong></span> write this function
- is a major feature!
- </p>
-<pre class="programlisting"><span class="identifier">BOOST_AUTO</span><span class="special">(</span><span class="identifier">t1</span><span class="special">,</span> <span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">seconds</span><span class="special">(</span><span class="number">3</span><span class="special">));</span>
-<span class="identifier">BOOST_AUTO</span><span class="special">(</span><span class="identifier">t2</span><span class="special">,</span> <span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">nanoseconds</span><span class="special">(</span><span class="number">3</span><span class="special">));</span>
-<span class="identifier">BOOST_AUTO</span><span class="special">(</span><span class="identifier">t3</span><span class="special">,</span> <span class="identifier">min</span><span class="special">(</span><span class="identifier">t1</span><span class="special">,</span> <span class="identifier">t2</span><span class="special">));</span>
-</pre>
-<p>
- <span class="emphasis"><em>See the source file example/min_time_point.cpp</em></span>
- </p>
-</div>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
 <a name="boost_chrono.users_guide.examples.duration"></a>Duration
 </h4></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.duration.how_you_override_the_duration_s_default_constructor">How
- you override the duration's default constructor</a></span></dt>
+ you Override the Duration's Default Constructor</a></span></dt>
 <dt><span class="section">Saturating</span></dt>
+<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.duration.xtime_conversions">xtime
+ Conversions</a></span></dt>
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.users_guide.examples.duration.how_you_override_the_duration_s_default_constructor"></a><a href="examples.html#boost_chrono.users_guide.examples.duration.how_you_override_the_duration_s_default_constructor" title="How
- you override the duration's default constructor">How
- you override the duration's default constructor</a>
+ you Override the Duration's Default Constructor">How
+ you Override the Duration's Default Constructor</a>
 </h5></div></div></div>
 <p>
             Next follows how you override the duration's default constructor to do
@@ -157,18 +116,18 @@
     <span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span><span class="identifier">zero_default</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">zero_default</span> <span class="identifier">y</span><span class="special">)</span> <span class="special">{</span><span class="keyword">return</span> <span class="special">!(</span><span class="identifier">x</span> <span class="special">&lt;</span> <span class="identifier">y</span><span class="special">);}</span>
 <span class="special">};</span>
 
-<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">zero_default</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">&gt;,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">nano</span> <span class="special">&gt;</span> <span class="identifier">nanoseconds</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">zero_default</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">&gt;,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">micro</span> <span class="special">&gt;</span> <span class="identifier">microseconds</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">zero_default</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">&gt;,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">milli</span> <span class="special">&gt;</span> <span class="identifier">milliseconds</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">zero_default</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">seconds</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">zero_default</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">&gt;,</span> <span class="identifier">boost</span><span class="special">::</span><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">60</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">minutes</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">zero_default</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">&gt;,</span> <span class="identifier">boost</span><span class="special">::</span><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">3600</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">hours</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">zero_default</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">&gt;,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">nano</span> <span class="special">&gt;</span> <span class="identifier">nanoseconds</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">zero_default</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">&gt;,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">micro</span> <span class="special">&gt;</span> <span class="identifier">microseconds</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">zero_default</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">&gt;,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">milli</span> <span class="special">&gt;</span> <span class="identifier">milliseconds</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">zero_default</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">seconds</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">zero_default</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">&gt;,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">60</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">minutes</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">zero_default</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">&gt;,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">3600</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">hours</span><span class="special">;</span>
 <span class="special">}</span>
 </pre>
 <p>
@@ -191,14 +150,118 @@
             A "saturating" signed integral type is developed. This type
             has +/- infinity and a nan (like IEEE floating point) but otherwise obeys
             signed integral arithmetic. This class is subsequently used as the rep
- in boost::chrono:: <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> to demonstrate a duration
+ in bchrono::<a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> to demonstrate a duration
             class that does not silently ignore overflow.
           </p>
 <p>
             <span class="emphasis"><em>See the source file example/saturating.cpp</em></span>
           </p>
 </div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.users_guide.examples.duration.xtime_conversions"></a><a href="examples.html#boost_chrono.users_guide.examples.duration.xtime_conversions" title="xtime
+ Conversions">xtime
+ Conversions</a>
+</h5></div></div></div>
+<p>
+ Example round_up utility: converts d to To, rounding up for inexact conversions
+ Being able to <span class="bold"><strong>easily</strong></span> write this function
+ is a major feature!
+ </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">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">type_traits</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">iostream</span><span class="special">&gt;</span>
+
+<span class="keyword">namespace</span> <span class="identifier">bchrono</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="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">To</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+<span class="identifier">To</span>
+<span class="identifier">round_up</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">To</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">To</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">result</span> <span class="special">&lt;</span> <span class="identifier">d</span><span class="special">)</span>
+ <span class="special">++</span><span class="identifier">result</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Demonstrate interaction with xtime-like facility:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">xtime</span>
+<span class="special">{</span>
+ <span class="keyword">long</span> <span class="identifier">sec</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">usec</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+<span class="identifier">xtime</span>
+<span class="identifier">to_xtime_truncate</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">xtime</span> <span class="identifier">xt</span><span class="special">;</span>
+ <span class="identifier">xt</span><span class="special">.</span><span class="identifier">sec</span> <span class="special">=</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;(</span><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">seconds</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">).</span><span class="identifier">count</span><span class="special">());</span>
+ <span class="identifier">xt</span><span class="special">.</span><span class="identifier">usec</span> <span class="special">=</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;(</span><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span> <span class="special">-</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">seconds</span></code></a><span class="special">(</span><span class="identifier">xt</span><span class="special">.</span><span class="identifier">sec</span><span class="special">)).</span><span class="identifier">count</span><span class="special">());</span>
+ <span class="keyword">return</span> <span class="identifier">xt</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+<span class="identifier">xtime</span>
+<span class="identifier">to_xtime_round_up</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">xtime</span> <span class="identifier">xt</span><span class="special">;</span>
+ <span class="identifier">xt</span><span class="special">.</span><span class="identifier">sec</span> <span class="special">=</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;(</span><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">seconds</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">).</span><span class="identifier">count</span><span class="special">());</span>
+ <span class="identifier">xt</span><span class="special">.</span><span class="identifier">usec</span> <span class="special">=</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">long</span><span class="special">&gt;(</span><span class="identifier">round_up</span><span class="special">&lt;</span><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span> <span class="special">-</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">seconds</span></code></a><span class="special">(</span><span class="identifier">xt</span><span class="special">.</span><span class="identifier">sec</span><span class="special">)).</span><span class="identifier">count</span><span class="special">());</span>
+ <span class="keyword">return</span> <span class="identifier">xt</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="identifier">microseconds</span>
+<span class="identifier">from_xtime</span><span class="special">(</span><span class="identifier">xtime</span> <span class="identifier">xt</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">seconds</span></code></a><span class="special">(</span><span class="identifier">xt</span><span class="special">.</span><span class="identifier">sec</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a><span class="special">(</span><span class="identifier">xt</span><span class="special">.</span><span class="identifier">usec</span><span class="special">);</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">print</span><span class="special">(</span><span class="identifier">xtime</span> <span class="identifier">xt</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="char">'{'</span> <span class="special">&lt;&lt;</span> <span class="identifier">xt</span><span class="special">.</span><span class="identifier">sec</span> <span class="special">&lt;&lt;</span> <span class="char">','</span> <span class="special">&lt;&lt;</span> <span class="identifier">xt</span><span class="special">.</span><span class="identifier">usec</span> <span class="special">&lt;&lt;</span> <span class="string">"}\n"</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Usage
+ </p>
+<pre class="programlisting"><span class="identifier">xtime</span> <span class="identifier">xt</span> <span class="special">=</span> <span class="identifier">to_xtime_truncate</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">milliseconds</span></code></a><span class="special">(</span><span class="number">251</span><span class="special">));</span>
+<span class="identifier">print</span><span class="special">(</span><span class="identifier">xt</span><span class="special">);</span>
+<span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">milliseconds</span> <span class="identifier">ms</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">milliseconds</span></code></a><span class="special">&gt;(</span><span class="identifier">from_xtime</span><span class="special">(</span><span class="identifier">xt</span><span class="special">));</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ms</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" milliseconds\n"</span><span class="special">;</span>
+<span class="identifier">xt</span> <span class="special">=</span> <span class="identifier">to_xtime_round_up</span><span class="special">(</span><span class="identifier">ms</span><span class="special">);</span>
+<span class="identifier">print</span><span class="special">(</span><span class="identifier">xt</span><span class="special">);</span>
+<span class="identifier">xt</span> <span class="special">=</span> <span class="identifier">to_xtime_truncate</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a><span class="special">(</span><span class="number">999</span><span class="special">));</span>
+<span class="identifier">print</span><span class="special">(</span><span class="identifier">xt</span><span class="special">);</span>
+<span class="identifier">xt</span> <span class="special">=</span> <span class="identifier">to_xtime_round_up</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a><span class="special">(</span><span class="number">999</span><span class="special">));</span>
+<span class="identifier">print</span><span class="special">(</span><span class="identifier">xt</span><span class="special">);</span>
+</pre>
+<p>
+ <span class="emphasis"><em>See the source file here</em></span>
+ </p>
+</div>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
@@ -234,19 +297,19 @@
 
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
 
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
+<span class="keyword">namespace</span> <span class="identifier">bchrono</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="keyword">template</span> <span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">speed</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">cycle_count</span>
 <span class="special">{</span>
- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">__ratio_multiply__</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="identifier">speed</span><span class="special">&gt;,</span> <span class="identifier">boost</span><span class="special">::</span> <code class="computeroutput"><span class="identifier">mega</span></code><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">__ratio_multiply__</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="identifier">speed</span><span class="special">&gt;,</span> <span class="identifier">boost</span><span class="special">::</span><code class="computeroutput"><span class="identifier">mega</span></code><span class="special">&gt;::</span><span class="identifier">type</span>
         <span class="identifier">frequency</span><span class="special">;</span> <span class="comment">// Mhz
 </span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">__ratio_divide__</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;,</span> <span class="identifier">frequency</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">period</span><span class="special">;</span>
     <span class="keyword">typedef</span> <span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">rep</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">rep</span><span class="special">,</span> <span class="identifier">period</span><span class="special">&gt;</span> <span class="identifier">duration</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">rep</span><span class="special">,</span> <span class="identifier">period</span><span class="special">&gt;</span> <span class="identifier">duration</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">cycle_count</span><span class="special">&gt;</span> <span class="identifier">time_point</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>
@@ -265,7 +328,7 @@
     <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">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">nanosec_per_sec</span> <span class="special">=</span> <span class="identifier">period</span><span class="special">::</span><span class="identifier">den</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">approx_cycle_count</span><span class="special">&gt;</span> <span class="identifier">time_point</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>
@@ -287,7 +350,9 @@
 </h5></div></div></div>
 <p>
             This example demonstrates the use of a timeval-like struct to be used
- as the representation type for both duraiton and time_point.
+ as the representation type for both <span class="underline">_duraiton</span>_
+ and <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>.
           </p>
 <pre class="programlisting"><span class="keyword">class</span> <span class="identifier">xtime</span> <span class="special">{</span>
 <span class="keyword">private</span><span class="special">:</span>
@@ -378,8 +443,8 @@
 <span class="keyword">public</span><span class="special">:</span>
     <span class="keyword">typedef</span> <span class="identifier">xtime</span> <span class="identifier">rep</span><span class="special">;</span>
     <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">micro</span> <span class="identifier">period</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">rep</span><span class="special">,</span> <span class="identifier">period</span><span class="special">&gt;</span> <span class="identifier">duration</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">xtime_clock</span><span class="special">&gt;</span> <span class="identifier">time_point</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">rep</span><span class="special">,</span> <span class="identifier">period</span><span class="special">&gt;</span> <span class="identifier">duration</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">xtime_clock</span><span class="special">&gt;</span> <span class="identifier">time_point</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="special">{</span>
@@ -410,16 +475,15 @@
 <p>
             Usage of xtime_clock
           </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"sizeof xtime_clock::time_point = "</span> <span class="special">&lt;&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">xtime_clock</span><span class="special">::</span><span class="identifier">time_point</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"sizeof xtime_clock::time_point = "</span> <span class="special">&lt;&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">xtime_clock</span><span class="special">::</span><span class="identifier">time_point</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"sizeof xtime_clock::duration = "</span> <span class="special">&lt;&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">xtime_clock</span><span class="special">::</span><span class="identifier">duration</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"sizeof xtime_clock::rep = "</span> <span class="special">&lt;&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">xtime_clock</span><span class="special">::</span><span class="identifier">rep</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
-<span class="identifier">xtime_clock</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">delay</span><span class="special">(</span><span class="identifier">milliseconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
+<span class="identifier">xtime_clock</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">delay</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">milliseconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
 <span class="identifier">xtime_clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">start</span> <span class="special">=</span> <span class="identifier">xtime_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
 <span class="keyword">while</span> <span class="special">(</span><span class="identifier">xtime_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">-</span> <span class="identifier">start</span> <span class="special">&lt;=</span> <span class="identifier">delay</span><span class="special">)</span> <span class="special">{}</span>
 <span class="identifier">xtime_clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">stop</span> <span class="special">=</span> <span class="identifier">xtime_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
 <span class="identifier">xtime_clock</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">elapsed</span> <span class="special">=</span> <span class="identifier">stop</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"paused "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nanoseconds</span><span class="special">(</span><span class="identifier">elapsed</span><span class="special">).</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" nanoseconds\n"</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"paused "</span> <span class="special">&lt;&lt;</span> <span class="identifier">bchrono</span><span class="special">::::</span><span class="identifier">nanoseconds</span><span class="special">(</span><span class="identifier">elapsed</span><span class="special">).</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" nanoseconds\n"</span><span class="special">;</span>
 </pre>
 <p>
             <span class="emphasis"><em>See the source file example/timeval_demo.cpp</em></span>
@@ -428,130 +492,59 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="boost_chrono.users_guide.examples.conversions"></a>Conversions
+<a name="boost_chrono.users_guide.examples.time_point"></a><a href="examples.html#boost_chrono.users_guide.examples.time_point" title="Time
+ Point">Time
+ Point</a>
 </h4></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.conversions.xtime_conversions">xtime
- conversions</a></span></dt></dl></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.time_point.min_utility">min
+ Utility</a></span></dt>
+<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.time_point.a_tiny_program_that_times_how_long_until_a_key_is_struck">A
+ Tiny Program that Times How Long Until a Key is Struck</a></span></dt>
+<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.time_point.24_hours_display">24
+ Hours Display</a></span></dt>
+<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.time_point.simulated_thread_interface_demonstration_program">Simulated
+ Thread Interface Demonstration Program</a></span></dt>
+</dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.users_guide.examples.conversions.xtime_conversions"></a><a href="examples.html#boost_chrono.users_guide.examples.conversions.xtime_conversions" title="xtime
- conversions">xtime
- conversions</a>
+<a name="boost_chrono.users_guide.examples.time_point.min_utility"></a><a href="examples.html#boost_chrono.users_guide.examples.time_point.min_utility" title="min
+ Utility">min
+ Utility</a>
 </h5></div></div></div>
 <p>
- Example round_up utility: converts d to To, rounding up for inexact conversions
- Being able to <span class="bold"><strong>easily</strong></span> write this function
- is a major feature!
- </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">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">type_traits</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">iostream</span><span class="special">&gt;</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</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">To</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
-<span class="identifier">To</span>
-<span class="identifier">round_up</span><span class="special">(</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">To</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">To</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">result</span> <span class="special">&lt;</span> <span class="identifier">d</span><span class="special">)</span>
- <span class="special">++</span><span class="identifier">result</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Demonstrate interaction with xtime-like facility:
+ The user can define a function returning the earliest <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> as follows:
           </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">xtime</span>
-<span class="special">{</span>
- <span class="keyword">long</span> <span class="identifier">sec</span><span class="special">;</span>
- <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">usec</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
-<span class="identifier">xtime</span>
-<span class="identifier">to_xtime_truncate</span><span class="special">(</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">xtime</span> <span class="identifier">xt</span><span class="special">;</span>
- <span class="identifier">xt</span><span class="special">.</span><span class="identifier">sec</span> <span class="special">=</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;(</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">seconds</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">).</span><span class="identifier">count</span><span class="special">());</span>
- <span class="identifier">xt</span><span class="special">.</span><span class="identifier">usec</span> <span class="special">=</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;(</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span> <span class="special">-</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">seconds</span></code></a><span class="special">(</span><span class="identifier">xt</span><span class="special">.</span><span class="identifier">sec</span><span class="special">)).</span><span class="identifier">count</span><span class="special">());</span>
- <span class="keyword">return</span> <span class="identifier">xt</span><span class="special">;</span>
-<span class="special">}</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
-<span class="identifier">xtime</span>
-<span class="identifier">to_xtime_round_up</span><span class="special">(</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">xtime</span> <span class="identifier">xt</span><span class="special">;</span>
- <span class="identifier">xt</span><span class="special">.</span><span class="identifier">sec</span> <span class="special">=</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;(</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">seconds</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">).</span><span class="identifier">count</span><span class="special">());</span>
- <span class="identifier">xt</span><span class="special">.</span><span class="identifier">usec</span> <span class="special">=</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">long</span><span class="special">&gt;(</span><span class="identifier">round_up</span><span class="special">&lt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span> <span class="special">-</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">seconds</span></code></a><span class="special">(</span><span class="identifier">xt</span><span class="special">.</span><span class="identifier">sec</span><span class="special">)).</span><span class="identifier">count</span><span class="special">());</span>
- <span class="keyword">return</span> <span class="identifier">xt</span><span class="special">;</span>
-<span class="special">}</span>
-
-<span class="identifier">microseconds</span>
-<span class="identifier">from_xtime</span><span class="special">(</span><span class="identifier">xtime</span> <span class="identifier">xt</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">return</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">seconds</span></code></a><span class="special">(</span><span class="identifier">xt</span><span class="special">.</span><span class="identifier">sec</span><span class="special">)</span> <span class="special">+</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a><span class="special">(</span><span class="identifier">xt</span><span class="special">.</span><span class="identifier">usec</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">void</span> <span class="identifier">print</span><span class="special">(</span><span class="identifier">xtime</span> <span class="identifier">xt</span><span class="special">)</span>
+<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="keyword">class</span> <span class="identifier">Duration1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;,</span>
+ <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">min</span><span class="special">(</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration1</span><span class="special">&gt;</span> <span class="identifier">t1</span><span class="special">,</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">&gt;</span> <span class="identifier">t2</span><span class="special">)</span>
 <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="char">'{'</span> <span class="special">&lt;&lt;</span> <span class="identifier">xt</span><span class="special">.</span><span class="identifier">sec</span> <span class="special">&lt;&lt;</span> <span class="char">','</span> <span class="special">&lt;&lt;</span> <span class="identifier">xt</span><span class="special">.</span><span class="identifier">usec</span> <span class="special">&lt;&lt;</span> <span class="string">"}\n"</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">t2</span> <span class="special">&lt;</span> <span class="identifier">t1</span> <span class="special">?</span> <span class="identifier">t2</span> <span class="special">:</span> <span class="identifier">t1</span><span class="special">;</span>
 <span class="special">}</span>
 </pre>
 <p>
- Usage
+ Being able to <span class="bold"><strong>easily</strong></span> write this function
+ is a major feature!
           </p>
-<pre class="programlisting"><span class="identifier">xtime</span> <span class="identifier">xt</span> <span class="special">=</span> <span class="identifier">to_xtime_truncate</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">milliseconds</span></code></a><span class="special">(</span><span class="number">251</span><span class="special">));</span>
-<span class="identifier">print</span><span class="special">(</span><span class="identifier">xt</span><span class="special">);</span>
-<span class="identifier">milliseconds</span> <span class="identifier">ms</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">milliseconds</span></code></a><span class="special">&gt;(</span><span class="identifier">from_xtime</span><span class="special">(</span><span class="identifier">xt</span><span class="special">));</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ms</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" milliseconds\n"</span><span class="special">;</span>
-<span class="identifier">xt</span> <span class="special">=</span> <span class="identifier">to_xtime_round_up</span><span class="special">(</span><span class="identifier">ms</span><span class="special">);</span>
-<span class="identifier">print</span><span class="special">(</span><span class="identifier">xt</span><span class="special">);</span>
-<span class="identifier">xt</span> <span class="special">=</span> <span class="identifier">to_xtime_truncate</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a><span class="special">(</span><span class="number">999</span><span class="special">));</span>
-<span class="identifier">print</span><span class="special">(</span><span class="identifier">xt</span><span class="special">);</span>
-<span class="identifier">xt</span> <span class="special">=</span> <span class="identifier">to_xtime_round_up</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a><span class="special">(</span><span class="number">999</span><span class="special">));</span>
-<span class="identifier">print</span><span class="special">(</span><span class="identifier">xt</span><span class="special">);</span>
+<pre class="programlisting"><span class="identifier">BOOST_AUTO</span><span class="special">(</span><span class="identifier">t1</span><span class="special">,</span> <span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">seconds</span><span class="special">(</span><span class="number">3</span><span class="special">));</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span><span class="identifier">t2</span><span class="special">,</span> <span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">nanoseconds</span><span class="special">(</span><span class="number">3</span><span class="special">));</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span><span class="identifier">t3</span><span class="special">,</span> <span class="identifier">min</span><span class="special">(</span><span class="identifier">t1</span><span class="special">,</span> <span class="identifier">t2</span><span class="special">));</span>
 </pre>
 <p>
- <span class="emphasis"><em>See the source file here</em></span>
+ <span class="emphasis"><em>See the source file example/min_time_point.cpp</em></span>
           </p>
 </div>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_chrono.users_guide.examples.reporting"></a>Reporting
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.reporting.a_tiny_program_that_times_how_long_until_a_key_is_struck">A
- tiny program that times how long until a key is struck</a></span></dt>
-<dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.reporting.24_hours_display">24
- hours display</a></span></dt>
-</dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.users_guide.examples.reporting.a_tiny_program_that_times_how_long_until_a_key_is_struck"></a><a href="examples.html#boost_chrono.users_guide.examples.reporting.a_tiny_program_that_times_how_long_until_a_key_is_struck" title="A
- tiny program that times how long until a key is struck">A
- tiny program that times how long until a key is struck</a>
+<a name="boost_chrono.users_guide.examples.time_point.a_tiny_program_that_times_how_long_until_a_key_is_struck"></a><a href="examples.html#boost_chrono.users_guide.examples.time_point.a_tiny_program_that_times_how_long_until_a_key_is_struck" title="A
+ Tiny Program that Times How Long Until a Key is Struck">A
+ Tiny Program that Times How Long Until a Key is Struck</a>
 </h5></div></div></div>
 <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">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
@@ -564,14 +557,11 @@
 <span class="special">{</span>
   <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">start</span><span class="special">;</span>
 <span class="keyword">public</span><span class="special">:</span>
-
   <span class="identifier">timer</span><span class="special">()</span> <span class="special">:</span> <span class="identifier">start</span><span class="special">(</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">)</span> <span class="special">{}</span>
-
   <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">elapsed</span><span class="special">()</span> <span class="keyword">const</span>
   <span class="special">{</span>
     <span class="keyword">return</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">;</span>
   <span class="special">}</span>
-
   <span class="keyword">double</span> <span class="identifier">seconds</span><span class="special">()</span> <span class="keyword">const</span>
   <span class="special">{</span>
     <span class="keyword">return</span> <span class="identifier">elapsed</span><span class="special">().</span><span class="identifier">count</span><span class="special">()</span> <span class="special">*</span> <span class="special">((</span><span class="keyword">double</span><span class="special">)</span><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">period</span><span class="special">::</span><span class="identifier">num</span><span class="special">/</span><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">period</span><span class="special">::</span><span class="identifier">den</span><span class="special">);</span>
@@ -580,14 +570,14 @@
 
 <span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
 <span class="special">{</span>
- <span class="identifier">timer</span><span class="special">&lt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ <span class="identifier">timer</span><span class="special">&lt;</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
           Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">&gt;</span> <span class="identifier">t1</span><span class="special">;</span>
- <span class="identifier">timer</span><span class="special">&lt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
+ <span class="identifier">timer</span><span class="special">&lt;</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
           Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a><span class="special">&gt;</span> <span class="identifier">t2</span><span class="special">;</span>
- <span class="identifier">timer</span><span class="special">&lt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
+ <span class="identifier">timer</span><span class="special">&lt;</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
           Class high_resolution_clock"><code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a><span class="special">&gt;</span> <span class="identifier">t3</span><span class="special">;</span>
 
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Strike any key: "</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Type the Enter key: "</span><span class="special">;</span>
   <span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
 
   <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="number">9</span><span class="special">);</span>
@@ -598,35 +588,35 @@
   <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"high_resolution_clock--: "</span>
             <span class="special">&lt;&lt;</span> <span class="identifier">t3</span><span class="special">.</span><span class="identifier">seconds</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" seconds\n"</span><span class="special">;</span>
 
- <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
- Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">d4</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">d4</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
           Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
- <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
- Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">d5</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">d5</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
           Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
 
   <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nsystem_clock latency-----------: "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">d5</span> <span class="special">-</span> <span class="identifier">d4</span><span class="special">).</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
 
- <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
- Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">d6</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
+ <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
+ Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">d6</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
           Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
- <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
- Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">d7</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
+ <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
+ Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">d7</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
           Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
 
   <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"monotonic_clock latency--------: "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">d7</span> <span class="special">-</span> <span class="identifier">d6</span><span class="special">).</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
 
- <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
- Class high_resolution_clock"><code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">d8</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
+ <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
+ Class high_resolution_clock"><code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">d8</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
           Class high_resolution_clock"><code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
- <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
- Class high_resolution_clock"><code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">d9</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
+ <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
+ Class high_resolution_clock"><code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">d9</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
           Class high_resolution_clock"><code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
 
   <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"high_resolution_clock latency--: "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">d9</span> <span class="special">-</span> <span class="identifier">d8</span><span class="special">).</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
 
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">time_t</span> <span class="identifier">now</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
- Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">to_time_t</span><span class="special">(</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">time_t</span> <span class="identifier">now</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">to_time_t</span><span class="special">(</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
           Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">());</span>
 
   <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nsystem_clock::now() reports UTC is "</span>
@@ -644,26 +634,28 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.users_guide.examples.reporting.24_hours_display"></a><a href="examples.html#boost_chrono.users_guide.examples.reporting.24_hours_display" title="24
- hours display">24
- hours display</a>
+<a name="boost_chrono.users_guide.examples.time_point.24_hours_display"></a><a href="examples.html#boost_chrono.users_guide.examples.time_point.24_hours_display" title="24
+ Hours Display">24
+ Hours Display</a>
 </h5></div></div></div>
 <p>
- In the example above we take advantage of the fact that <code class="computeroutput"><span class="identifier">time_point</span></code>s convert as long as they
- have the same clock, and as long as their internal <code class="computeroutput"><span class="identifier">duration</span></code>s
- convert. We also take advantage of the fact that a <code class="computeroutput"><span class="identifier">duration</span></code>
- with a floating point representation will convert from anything. Finally
- the I/O system discovers the more readable "hours" unit for
- our <code class="computeroutput"><span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">3600</span><span class="special">&gt;&gt;</span></code>.
- </p>
-<p>
- There are many other ways to format <code class="computeroutput"><span class="identifier">duration</span></code>s
- and <code class="computeroutput"><span class="identifier">time_point</span></code>s. For
- example see <a href="http://en.wikipedia.org/wiki/ISO_8601#Durations" target="_top">ISO
- 8601</a>. Instead of coding every possibility into <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;&lt;</span></code>,
- which would lead to significant code bloat for even the most trivial
- uses, this document seeks to inform the reader how to write custom I/O
- when desired.
+ In the example above we take advantage of the fact that <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s convert as long
+ as they have the same clock, and as long as their internal <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s convert. We also
+ take advantage of the fact that a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> with a floating point
+ representation will convert from anything. Finally the I/O system discovers
+ the more readable "hours" unit for our <code class="computeroutput"><span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">3600</span><span class="special">&gt;&gt;</span></code>.
+ </p>
+<p>
+ There are many other ways to format <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>s and <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>s. For example see
+ ISO 8601.
+ Instead of coding every possibility into <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;&lt;</span></code>, which would lead to significant
+ code bloat for even the most trivial uses, this document seeks to inform
+ the reader how to write custom I/O when desired.
           </p>
 <p>
             As an example, the function below streams arbitrary durations to arbitrary
@@ -691,56 +683,67 @@
 <li>
                 <code class="computeroutput"><span class="identifier">ss</span><span class="special">.</span><span class="identifier">cc</span></code> is the number of <code class="computeroutput"><span class="identifier">seconds</span></code> rounded to the nearest
                 hundreth of a second
- <div class="orderedlist"><ol type="1"><li>
- include &lt;boost/chrono<span class="emphasis"><em>chrono_io.hpp&gt; #include
- &lt;ostream&gt; #include &lt;iostream&gt; /</em></span> format
- duration as <span class="strikethrough"></span>d/hh::mm::ss.cc
- template &lt;class CharT, class Traits, class Rep, class Period&gt;
- std::basic_ostream&lt;CharT, Traits&gt;&amp; display(std::basic_ostream&lt;CharT,
- Traits&gt;&amp; os, boost::chrono::duration&lt;Rep, Period&gt;
- d) { using namespace std; using namespace boost; using namespace
- boost::chrono;
- </li></ol></div>
+ <div class="orderedlist"><ol type="1">
+<li>
+ include &lt;boost/chrono/chrono_io.hpp&gt;
+ </li>
+<li>
+ include &lt;ostream&gt;
+ </li>
+<li>
+ include &lt;iostream&gt;
+ </li>
+</ol></div>
               </li>
 </ul></div>
-<pre class="programlisting"> <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">86400</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">days</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">centi</span><span class="special">&gt;</span> <span class="identifier">centiseconds</span><span class="special">;</span>
+<pre class="programlisting"><span class="comment">// format duration as [-]d/hh::mm::ss.cc
+</span><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">&gt;&amp;</span>
+<span class="identifier">display</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">&gt;&amp;</span> <span class="identifier">os</span><span class="special">,</span>
+ <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">bchrono</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="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">86400</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">days</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">:</span><span class="identifier">centi</span><span class="special">&gt;</span> <span class="identifier">centiseconds</span><span class="special">;</span>
 
     <span class="comment">// if negative, print negative sign and negate
-</span> <span class="keyword">if</span> <span class="special">(</span><span class="identifier">d</span> <span class="special">&lt;</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;(</span><span class="number">0</span><span class="special">))</span>
+</span> <span class="keyword">if</span> <span class="special">(</span><span class="identifier">d</span> <span class="special">&lt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;(</span><span class="number">0</span><span class="special">))</span>
     <span class="special">{</span>
         <span class="identifier">d</span> <span class="special">=</span> <span class="special">-</span><span class="identifier">d</span><span class="special">;</span>
         <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="char">'-'</span><span class="special">;</span>
     <span class="special">}</span>
     <span class="comment">// round d to nearest centiseconds, to even on tie
-</span> <span class="identifier">centiseconds</span> <span class="identifier">cs</span> <span class="special">=</span> <span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">centiseconds</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">d</span> <span class="special">-</span> <span class="identifier">cs</span> <span class="special">&gt;</span> <span class="identifier">milliseconds</span><span class="special">(</span><span class="number">5</span><span class="special">)</span>
- <span class="special">||</span> <span class="special">(</span><span class="identifier">d</span> <span class="special">-</span> <span class="identifier">cs</span> <span class="special">==</span> <span class="identifier">milliseconds</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="identifier">cs</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&amp;</span> <span class="number">1</span><span class="special">))</span>
+</span> <span class="identifier">centiseconds</span> <span class="identifier">cs</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">centiseconds</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">d</span> <span class="special">-</span> <span class="identifier">cs</span> <span class="special">&gt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">milliseconds</span><span class="special">(</span><span class="number">5</span><span class="special">)</span>
+ <span class="special">||</span> <span class="special">(</span><span class="identifier">d</span> <span class="special">-</span> <span class="identifier">cs</span> <span class="special">==</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">milliseconds</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="identifier">cs</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&amp;</span> <span class="number">1</span><span class="special">))</span>
         <span class="special">++</span><span class="identifier">cs</span><span class="special">;</span>
     <span class="comment">// separate seconds from centiseconds
-</span> <span class="identifier">seconds</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">seconds</span><span class="special">&gt;(</span><span class="identifier">cs</span><span class="special">);</span>
+</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">seconds</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">&gt;(</span><span class="identifier">cs</span><span class="special">);</span>
     <span class="identifier">cs</span> <span class="special">-=</span> <span class="identifier">s</span><span class="special">;</span>
     <span class="comment">// separate minutes from seconds
-</span> <span class="identifier">minutes</span> <span class="identifier">m</span> <span class="special">=</span> <span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">minutes</span><span class="special">&gt;(</span><span class="identifier">s</span><span class="special">);</span>
+</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">minutes</span> <span class="identifier">m</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">minutes</span><span class="special">&gt;(</span><span class="identifier">s</span><span class="special">);</span>
     <span class="identifier">s</span> <span class="special">-=</span> <span class="identifier">m</span><span class="special">;</span>
     <span class="comment">// separate hours from minutes
-</span> <span class="identifier">hours</span> <span class="identifier">h</span> <span class="special">=</span> <span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">hours</span><span class="special">&gt;(</span><span class="identifier">m</span><span class="special">);</span>
+</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">hours</span> <span class="identifier">h</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">hours</span><span class="special">&gt;(</span><span class="identifier">m</span><span class="special">);</span>
     <span class="identifier">m</span> <span class="special">-=</span> <span class="identifier">h</span><span class="special">;</span>
     <span class="comment">// separate days from hours
-</span> <span class="identifier">days</span> <span class="identifier">dy</span> <span class="special">=</span> <span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">days</span><span class="special">&gt;(</span><span class="identifier">h</span><span class="special">);</span>
+</span> <span class="identifier">days</span> <span class="identifier">dy</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">days</span><span class="special">&gt;(</span><span class="identifier">h</span><span class="special">);</span>
     <span class="identifier">h</span> <span class="special">-=</span> <span class="identifier">dy</span><span class="special">;</span>
     <span class="comment">// print d/hh:mm:ss.cc
 </span> <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">dy</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">'/'</span><span class="special">;</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">h</span> <span class="special">&lt;</span> <span class="identifier">hours</span><span class="special">(</span><span class="number">10</span><span class="special">))</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">h</span> <span class="special">&lt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">hours</span><span class="special">(</span><span class="number">10</span><span class="special">))</span>
         <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="char">'0'</span><span class="special">;</span>
     <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">h</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">':'</span><span class="special">;</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">m</span> <span class="special">&lt;</span> <span class="identifier">minutes</span><span class="special">(</span><span class="number">10</span><span class="special">))</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">m</span> <span class="special">&lt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">minutes</span><span class="special">(</span><span class="number">10</span><span class="special">))</span>
         <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="char">'0'</span><span class="special">;</span>
     <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">':'</span><span class="special">;</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">s</span> <span class="special">&lt;</span> <span class="identifier">seconds</span><span class="special">(</span><span class="number">10</span><span class="special">))</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">s</span> <span class="special">&lt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">10</span><span class="special">))</span>
         <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="char">'0'</span><span class="special">;</span>
     <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">'.'</span><span class="special">;</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">cs</span> <span class="special">&lt;</span> <span class="identifier">centiseconds</span><span class="special">(</span><span class="number">10</span><span class="special">))</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">cs</span> <span class="special">&lt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">centiseconds</span><span class="special">(</span><span class="number">10</span><span class="special">))</span>
         <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="char">'0'</span><span class="special">;</span>
     <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">cs</span><span class="special">.</span><span class="identifier">count</span><span class="special">();</span>
     <span class="keyword">return</span> <span class="identifier">os</span><span class="special">;</span>
@@ -750,13 +753,13 @@
 <span class="special">{</span>
     <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
     <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">bchrono</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">display</span><span class="special">(</span><span class="identifier">cout</span><span class="special">,</span> <span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">().</span><span class="identifier">time_since_epoch</span><span class="special">()</span>
- <span class="special">+</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="identifier">mega</span><span class="special">&gt;(</span><span class="number">1</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
- <span class="identifier">display</span><span class="special">(</span><span class="identifier">cout</span><span class="special">,</span> <span class="special">-</span><span class="identifier">milliseconds</span><span class="special">(</span><span class="number">6</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
- <span class="identifier">display</span><span class="special">(</span><span class="identifier">cout</span><span class="special">,</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="identifier">mega</span><span class="special">&gt;(</span><span class="number">1</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
- <span class="identifier">display</span><span class="special">(</span><span class="identifier">cout</span><span class="special">,</span> <span class="special">-</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="identifier">mega</span><span class="special">&gt;(</span><span class="number">1</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
+ <span class="identifier">display</span><span class="special">(</span><span class="identifier">cout</span><span class="special">,</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">().</span><span class="identifier">time_since_epoch</span><span class="special">()</span>
+ <span class="special">+</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mega</span><span class="special">&gt;(</span><span class="number">1</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
+ <span class="identifier">display</span><span class="special">(</span><span class="identifier">cout</span><span class="special">,</span> <span class="special">-</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">milliseconds</span><span class="special">(</span><span class="number">6</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
+ <span class="identifier">display</span><span class="special">(</span><span class="identifier">cout</span><span class="special">,</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mega</span><span class="special">&gt;(</span><span class="number">1</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
+ <span class="identifier">display</span><span class="special">(</span><span class="identifier">cout</span><span class="special">,</span> <span class="special">-</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mega</span><span class="special">&gt;(</span><span class="number">1</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
 <span class="special">}</span>
 </pre>
 <p>
@@ -768,59 +771,58 @@
 <span class="special">-</span><span class="number">11</span><span class="special">/</span><span class="number">13</span><span class="special">:</span><span class="number">46</span><span class="special">:</span><span class="number">40.00</span>
 </pre>
 </div>
-</div>
 <div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_chrono.users_guide.examples.simulated_thread_interface_demonstration_program"></a><a href="examples.html#boost_chrono.users_guide.examples.simulated_thread_interface_demonstration_program" title="Simulated
- thread interface demonstration program">Simulated
- thread interface demonstration program</a>
-</h4></div></div></div>
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.users_guide.examples.time_point.simulated_thread_interface_demonstration_program"></a><a href="examples.html#boost_chrono.users_guide.examples.time_point.simulated_thread_interface_demonstration_program" title="Simulated
+ Thread Interface Demonstration Program">Simulated
+ Thread Interface Demonstration Program</a>
+</h5></div></div></div>
 <p>
- The C++0x standard library's multi-threading library requires the ability
- to deal with the representation of time in a manner consistent with modern
- C++ practices. Next follows a simaulation of this interface.
- </p>
+ The C++0x standard library's multi-threading library requires the ability
+ to deal with the representation of time in a manner consistent with modern
+ C++ practices. Next follows a simulation of this interface.
+ </p>
 <p>
- The non-member sleep functions can be emulated as follows:
- </p>
+ The non-member sleep functions can be emulated as follows:
+ </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">this_thread</span> <span class="special">{</span>
 
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">sleep_for</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">)</span> <span class="special">{</span>
- <span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+<span class="keyword">void</span> <span class="identifier">sleep_for</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
     <span class="keyword">if</span> <span class="special">(</span><span class="identifier">t</span> <span class="special">&lt;</span> <span class="identifier">d</span><span class="special">)</span>
         <span class="special">++</span><span class="identifier">t</span><span class="special">;</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">t</span> <span class="special">&gt;</span> <span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">t</span> <span class="special">&gt;</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a><span class="special">(</span><span class="number">0</span><span class="special">))</span>
         <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"sleep_for "</span> <span class="special">&lt;&lt;</span> <span class="identifier">t</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" microseconds\n"</span><span class="special">;</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">Duration</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">sleep_until</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+<span class="keyword">void</span> <span class="identifier">sleep_until</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration</span><span class="special">&gt;&amp;</span> <span class="identifier">t</span><span class="special">)</span> <span class="special">{</span>
     <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span><span class="special">;</span>
- <span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration</span><span class="special">&gt;</span> <span class="identifier">Time</span><span class="special">;</span>
- <span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ <span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
           Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">SysTime</span><span class="special">;</span>
     <span class="keyword">if</span> <span class="special">(</span><span class="identifier">t</span> <span class="special">&gt;</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">())</span> <span class="special">{</span>
         <span class="keyword">typedef</span> <span class="keyword">typename</span> <code class="computeroutput"><span class="identifier">common_type</span></code><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Time</span><span class="special">::</span><span class="identifier">duration</span><span class="special">,</span>
                                      <span class="keyword">typename</span> <span class="identifier">SysTime</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">D</span><span class="special">;</span>
         <span class="comment">/* auto */</span> <span class="identifier">D</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">t</span> <span class="special">-</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
         <span class="identifier">microseconds</span> <span class="identifier">us</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
         <span class="keyword">if</span> <span class="special">(</span><span class="identifier">us</span> <span class="special">&lt;</span> <span class="identifier">d</span><span class="special">)</span>
             <span class="special">++</span><span class="identifier">us</span><span class="special">;</span>
- <span class="identifier">SysTime</span> <span class="identifier">st</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ <span class="identifier">SysTime</span> <span class="identifier">st</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
           Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">us</span><span class="special">;</span>
         <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"sleep_until "</span><span class="special">;</span>
         <span class="identifier">detail</span><span class="special">::</span><span class="identifier">print_time</span><span class="special">(</span><span class="identifier">st</span><span class="special">);</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" which is "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">st</span> <span class="special">-</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" which is "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">st</span> <span class="special">-</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
           Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">()).</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" microseconds away\n"</span><span class="special">;</span>
     <span class="special">}</span>
 <span class="special">}</span>
@@ -828,21 +830,21 @@
 <span class="special">}}</span>
 </pre>
 <p>
- Next follows the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">thread</span><span class="special">::</span><span class="identifier">timed_mutex</span></code>
- modified fuctions
- </p>
+ Next follows the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">thread</span><span class="special">::</span><span class="identifier">timed_mutex</span></code>
+ modified fuctions
+ </p>
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
 <span class="keyword">struct</span> <span class="identifier">timed_mutex</span> <span class="special">{</span>
     <span class="comment">// ...
 </span>
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
- <span class="keyword">bool</span> <span class="identifier">try_lock_for</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">)</span> <span class="special">{</span>
- <span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ <span class="keyword">bool</span> <span class="identifier">try_lock_for</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">t</span> <span class="special">&lt;=</span> <span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">t</span> <span class="special">&lt;=</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a><span class="special">(</span><span class="number">0</span><span class="special">))</span>
             <span class="keyword">return</span> <span class="identifier">try_lock</span><span class="special">();</span>
         <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"try_lock_for "</span> <span class="special">&lt;&lt;</span> <span class="identifier">t</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" microseconds\n"</span><span class="special">;</span>
@@ -850,13 +852,13 @@
     <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">Duration</span><span class="special">&gt;</span>
- <span class="keyword">bool</span> <span class="identifier">try_lock_until</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">bool</span> <span class="identifier">try_lock_until</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration</span><span class="special">&gt;&amp;</span> <span class="identifier">t</span><span class="special">)</span>
     <span class="special">{</span>
         <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span><span class="special">;</span>
- <span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration</span><span class="special">&gt;</span> <span class="identifier">Time</span><span class="special">;</span>
- <span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ <span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
           Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">SysTime</span><span class="special">;</span>
         <span class="keyword">if</span> <span class="special">(</span><span class="identifier">t</span> <span class="special">&lt;=</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">())</span>
             <span class="keyword">return</span> <span class="identifier">try_lock</span><span class="special">();</span>
@@ -864,13 +866,13 @@
           <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">D</span><span class="special">;</span>
         <span class="comment">/* auto */</span> <span class="identifier">D</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">t</span> <span class="special">-</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
         <span class="identifier">microseconds</span> <span class="identifier">us</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
- <span class="identifier">SysTime</span> <span class="identifier">st</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ <span class="identifier">SysTime</span> <span class="identifier">st</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
           Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">us</span><span class="special">;</span>
         <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"try_lock_until "</span><span class="special">;</span>
         <span class="identifier">detail</span><span class="special">::</span><span class="identifier">print_time</span><span class="special">(</span><span class="identifier">st</span><span class="special">);</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" which is "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">st</span> <span class="special">-</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" which is "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">st</span> <span class="special">-</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
           Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">()).</span><span class="identifier">count</span><span class="special">()</span>
           <span class="special">&lt;&lt;</span> <span class="string">" microseconds away\n"</span><span class="special">;</span>
         <span class="keyword">return</span> <span class="keyword">true</span><span class="special">;</span>
@@ -879,30 +881,30 @@
 <span class="special">}</span>
 </pre>
 <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">thread</span><span class="special">::</span><span class="identifier">condition_variable</span></code> time related function
- are modified as follows:
- </p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">thread</span><span class="special">::</span><span class="identifier">condition_variable</span></code> time related function
+ are modified as follows:
+ </p>
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
 <span class="keyword">struct</span> <span class="identifier">condition_variable</span>
 <span class="special">{</span>
     <span class="comment">// ...
 </span>
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
- <span class="keyword">bool</span> <span class="identifier">wait_for</span><span class="special">(</span><span class="identifier">mutex</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">bool</span> <span class="identifier">wait_for</span><span class="special">(</span><span class="identifier">mutex</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">)</span> <span class="special">{</span>
         <span class="identifier">chrono</span><span class="special">::</span><span class="identifier">microseconds</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">microseconds</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">microseconds</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
         <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"wait_for "</span> <span class="special">&lt;&lt;</span> <span class="identifier">t</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" microseconds\n"</span><span class="special">;</span>
         <span class="keyword">return</span> <span class="keyword">true</span><span class="special">;</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">Duration</span><span class="special">&gt;</span>
- <span class="keyword">bool</span> <span class="identifier">wait_until</span><span class="special">(</span><span class="identifier">mutex</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">bool</span> <span class="identifier">wait_until</span><span class="special">(</span><span class="identifier">mutex</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration</span><span class="special">&gt;&amp;</span> <span class="identifier">t</span><span class="special">)</span> <span class="special">{</span>
         <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
- <span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration</span><span class="special">&gt;</span> <span class="identifier">Time</span><span class="special">;</span>
- <span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ <span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
           Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">SysTime</span><span class="special">;</span>
         <span class="keyword">if</span> <span class="special">(</span><span class="identifier">t</span> <span class="special">&lt;=</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">())</span>
             <span class="keyword">return</span> <span class="keyword">false</span><span class="special">;</span>
@@ -910,13 +912,13 @@
           <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">D</span><span class="special">;</span>
         <span class="comment">/* auto */</span> <span class="identifier">D</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">t</span> <span class="special">-</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
         <span class="identifier">microseconds</span> <span class="identifier">us</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">microseconds</span></code></a><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
- <span class="identifier">SysTime</span> <span class="identifier">st</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ <span class="identifier">SysTime</span> <span class="identifier">st</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
           Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">us</span><span class="special">;</span>
          <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"wait_until "</span><span class="special">;</span>
         <span class="identifier">detail</span><span class="special">::</span><span class="identifier">print_time</span><span class="special">(</span><span class="identifier">st</span><span class="special">);</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" which is "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">st</span> <span class="special">-</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" which is "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">st</span> <span class="special">-</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
           Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">()).</span><span class="identifier">count</span><span class="special">()</span>
           <span class="special">&lt;&lt;</span> <span class="string">" microseconds away\n"</span><span class="special">;</span>
         <span class="keyword">return</span> <span class="keyword">true</span><span class="special">;</span>
@@ -925,43 +927,47 @@
 <span class="special">}</span>
 </pre>
 <p>
- Next follows how how sumple is the usage of this functions:
- </p>
+ Next follows how simple is the usage of this functions:
+ </p>
 <pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mutex</span> <span class="identifier">m</span><span class="special">;</span>
 <span class="identifier">boost</span><span class="special">::</span><span class="identifier">timed_mutex</span> <span class="identifier">mut</span><span class="special">;</span>
 <span class="identifier">boost</span><span class="special">::</span><span class="identifier">condition_variable</span> <span class="identifier">cv</span><span class="special">;</span>
 
 <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
 
-<span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep_for</span><span class="special">(</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+<span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep_for</span><span class="special">(</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">seconds</span></code></a><span class="special">(</span><span class="number">3</span><span class="special">));</span>
-<span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep_for</span><span class="special">(</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+<span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep_for</span><span class="special">(</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a><span class="special">(</span><span class="number">300</span><span class="special">));</span>
-<span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">time_limit</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
- Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">__seconds_</span><span class="special">(</span><span class="number">4</span><span class="special">)</span> <span class="special">+</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+<span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">time_limit</span> <span class="special">=</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">chrono</span><span class="special">::</span><span class="identifier">__seconds_</span><span class="special">(</span><span class="number">4</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">milliseconds</span></code></a><span class="special">(</span><span class="number">500</span><span class="special">);</span>
 <span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep_until</span><span class="special">(</span><span class="identifier">time_limit</span><span class="special">);</span>
 
-<span class="identifier">mut</span><span class="special">.</span><span class="identifier">try_lock_for</span><span class="special">(</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+<span class="identifier">mut</span><span class="special">.</span><span class="identifier">try_lock_for</span><span class="special">(</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">milliseconds</span></code></a><span class="special">(</span><span class="number">30</span><span class="special">));</span>
 <span class="identifier">mut</span><span class="special">.</span><span class="identifier">try_lock_until</span><span class="special">(</span><span class="identifier">time_limit</span><span class="special">);</span>
 
-<span class="identifier">cv</span><span class="special">.</span><span class="identifier">wait_for</span><span class="special">(</span><span class="identifier">m</span><span class="special">,</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+<span class="identifier">cv</span><span class="special">.</span><span class="identifier">wait_for</span><span class="special">(</span><span class="identifier">m</span><span class="special">,</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">minutes</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">));</span> <span class="comment">// real code would put this in a loop
 </span><span class="identifier">cv</span><span class="special">.</span><span class="identifier">wait_until</span><span class="special">(</span><span class="identifier">m</span><span class="special">,</span> <span class="identifier">time_limit</span><span class="special">);</span> <span class="comment">// real code would put this in a loop
 </span>
 <span class="comment">// For those who prefer floating point
-</span><span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep_for</span><span class="special">(</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">0.25</span><span class="special">));</span>
-<span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep_until</span><span class="special">(</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
- Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">1.5</span><span class="special">));</span>
+</span><span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep_for</span><span class="special">(</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">0.25</span><span class="special">));</span>
+<span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep_until</span><span class="special">(</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">1.5</span><span class="special">));</span>
 </pre>
 <p>
- <span class="emphasis"><em>See the source file example/simulated_thread_interface_demo.cpp</em></span>
- </p>
+ <span class="emphasis"><em>See the source file example/simulated_thread_interface_demo.cpp</em></span>
+ </p>
+</div>
 </div>
+<div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.users_guide.examples.io"></a>IO
+</h4></div></div></div></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/ext_references.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/ext_references.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/ext_references.html 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -4,8 +4,8 @@
 <title> External Resources</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 0.7.0">
-<link rel="up" href="../users_guide.html" title=" Users'Guide">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
+<link rel="up" href="../users_guide.html" title=" User's Guide">
 <link rel="prev" href="examples.html" title="Examples">
 <link rel="next" href="../reference.html" title=" Reference ">
 </head>

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-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -4,9 +4,9 @@
 <title> Getting Started</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 0.7.0">
-<link rel="up" href="../users_guide.html" title=" Users'Guide">
-<link rel="prev" href="../users_guide.html" title=" Users'Guide">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
+<link rel="up" href="../users_guide.html" title=" User's Guide">
+<link rel="prev" href="../users_guide.html" title=" User's Guide">
 <link rel="next" href="tutorial.html" title="Tutorial">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -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="id4987965"></a>
+<a name="id4949845"></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,10 +53,10 @@
           Sandbox</a>. Just go to here
           and follow the instructions there for anonymous SVN access.
         </p>
-<a name="boost_chrono.users_guide.getting_started.install.where_to_install__emphasis_role__bold__boost_chrono__emphasis___"></a><h5>
-<a name="id4988037"></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>
+<a name="boost_chrono.users_guide.getting_started.install.where_to_install_boost_chrono__"></a><h5>
+<a name="id4949915"></a>
+ <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.where_to_install_boost_chrono__">Where
+ to install Boost.Chrono? </a>
         </h5>
 <p>
           The simple way is to decompress (or checkout from SVN) the file in your
@@ -78,23 +78,22 @@
           that is able to work in both environements and use the <code class="computeroutput"><span class="identifier">BOOST_ROOT</span></code>
           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="id4942292"></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>
+<a name="boost_chrono.users_guide.getting_started.install.building_boost_chrono_"></a><h5>
+<a name="id4942202"></a>
+ <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.building_boost_chrono_">Building
+ Boost.Chrono </a>
         </h5>
 <p>
           <span class="bold"><strong>Boost.Chrono</strong></span> can be configured as a header
           only library. When <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_hpp.conf.header_only" title="
- How to build Boost.Chrono as a header
- only library?"><code class="computeroutput"><span class="identifier">BOOST_CHRONO_INLINED</span></code></a> is defined
+ How to Build Boost.Chrono as a Header Only Library?"><code class="computeroutput"><span class="identifier">BOOST_CHRONO_INLINED</span></code></a> is defined
           the lib is header only library. Otherwise is not a header only library
           and you need to compile it before use.
         </p>
 <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="id4942382"></a>
+<a name="id4942285"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.requirements">Requirements</a>
         </h5>
 <p>
@@ -133,7 +132,7 @@
               </p></dd>
 <dt><span class="term">Boost.Ratio</span></dt>
 <dd><p>
- for ratio, ...
+ for ratio, milli, micro, ...
               </p></dd>
 <dt><span class="term">Boost.System</span></dt>
 <dd><p>
@@ -149,11 +148,10 @@
               </p></dd>
 </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="id4942633"></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>
+<a name="boost_chrono.users_guide.getting_started.install.building_an_executable_that_uses_boost_chrono_"></a><h5>
+<a name="id4942539"></a>
+ <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.building_an_executable_that_uses_boost_chrono_">Building
+ an executable that uses Boost.Chrono </a>
         </h5>
 <p>
           In addition to link with the <span class="bold"><strong>Boost.Chrono</strong></span>
@@ -162,9 +160,9 @@
           to be a header only using __BOOST_SYSTEM_INLINED you will no need to link
           with.
         </p>
-<a name="boost_chrono.users_guide.getting_started.install.exceptions_safety_"></a><h5>
-<a name="id4942683"></a>
- <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.exceptions_safety_">Exceptions
+<a name="boost_chrono.users_guide.getting_started.install.exception_safety_"></a><h5>
+<a name="id4942585"></a>
+ <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.exception_safety_">Exception
           safety </a>
         </h5>
 <p>
@@ -172,15 +170,21 @@
           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="id4942710"></a>
+<a name="id4942612"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.thread_safety_">Thread
           safety </a>
         </h5>
 <p>
           All functions in the library are thread-unsafe except when noted explicitly.
         </p>
+<p>
+ As Boost.Chrono doesn't use mutable global variables the thread safety
+ analysis is limited to the access to each instance variable. It is not
+ thread safe to use a function that modifies the access to a user variable
+ if another can be reading or writing it.
+ </p>
 <a name="boost_chrono.users_guide.getting_started.install.tested_compilers_"></a><h5>
-<a name="id4942736"></a>
+<a name="id4942644"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.tested_compilers_">Tested
           compilers </a>
         </h5>
@@ -191,22 +195,8 @@
 <p>
           Windows with
         </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
- MSVC 10.0
- </li>
-<li>
- MSVC 9.0 Express (not lastly)
- </li>
-<li>
- MSVC 8.0 (not lastly)
- </li>
-</ul></div>
-<p>
- Scientific Linux with
- </p>
 <div class="itemizedlist"><ul type="disc"><li>
- GCC 4.1.2 (not lastly)
+ MSVC 10.0
             </li></ul></div>
 <p>
           Cygwin 1.5 with
@@ -233,6 +223,9 @@
 <li>
               GCC 4.5.0 -std=c++0x
             </li>
+<li>
+ GCC 4.6.0 -std=c++0x #undef BOOST_NO_CONSTEXPR
+ </li>
 </ul></div>
 <p>
           Initial version was tested on:
@@ -278,21 +271,21 @@
 
 <span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
 <span class="special">{</span>
- <span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">start</span> <span class="special">=</span> <span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
+ <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">start</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
 
     <span class="keyword">for</span> <span class="special">(</span> <span class="keyword">long</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="number">10000000</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span> <span class="special">)</span>
     <span class="identifier">std</span><span class="special">::</span><span class="identifier">sqrt</span><span class="special">(</span> <span class="number">123.456L</span> <span class="special">);</span> <span class="comment">// burn some time
 </span>
- <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">sec</span> <span class="special">=</span> <span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"tooks "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sec</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" seconds\n"</span><span class="special">;</span>
+ <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">sec</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"took "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sec</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" seconds\n"</span><span class="special">;</span>
     <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
 <span class="special">}</span>
 </pre>
 <p>
           Output was:
         </p>
-<pre class="programlisting"><span class="identifier">tooks</span> <span class="number">0.832</span> <span class="identifier">seconds</span>
+<pre class="programlisting"><span class="identifier">took</span> <span class="number">0.832</span> <span class="identifier">seconds</span>
 </pre>
 </div>
 </div>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/tutorial.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/tutorial.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/tutorial.html 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -4,8 +4,8 @@
 <title>Tutorial</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 0.7.0">
-<link rel="up" href="../users_guide.html" title=" Users'Guide">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.7.1">
+<link rel="up" href="../users_guide.html" title=" User's Guide">
 <link rel="prev" href="getting_started.html" title=" Getting Started">
 <link rel="next" href="examples.html" title="Examples">
 </head>
@@ -33,27 +33,35 @@
           What Exactly is a <code class="computeroutput"><span class="identifier">duration</span></code>
           and How Do I Use One?</a></span></dt>
 <dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.what_happens_if_i_assign__m3___us3__to__minutes__instead_of__microseconds__">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
+ 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
           <code class="computeroutput"><span class="identifier">microseconds</span></code>?</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.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></span></dt>
 <dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.trafficking_in_floating_point_durations">Trafficking
- in floating point durations</a></span></dt>
+ in Floating Point Durations</a></span></dt>
 <dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.how_expensive_is_all_of_this_">How
- expensive is all of this?</a></span></dt>
+ Expensive is All of this?</a></span></dt>
 <dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.how_complicated_is_it_to_build_a_function_taking_a__duration__parameter_">How
- complicated is it to build a function taking a <code class="computeroutput"><span class="identifier">duration</span></code>
- parameter?</a></span></dt>
+ Complicated is it to Build a Function Taking a <code class="computeroutput"><span class="identifier">duration</span></code>
+ Parameter?</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.can_durations_overflow_">Can
+ durations overflow?</a></span></dt>
 </dl></dd>
 <dt><span class="section">Clocks</span></dt>
 <dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.time_point">Time
         Point</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.time_point.so_what_exactly_is_a__time_point__and_how_do_i_use_one_">So
+<dd><dl><dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.time_point.so_what_exactly_is_a__time_point__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></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.time_point.how_to_get_the_actual_cpu_milliseconds__or_other_units___used_by_the_current_thread_between_end_and_start_">How
- to get the actual CPU milliseconds (or other units?) used by the current
- thread between end and start?</a></span></dt>
+ and How Do I Use One?</a></span></dt></dl></dd>
+<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.specific_clocks">Specific
+ Clocks</a></span></dt>
+<dd><dl>
+<dt><span class="section">system_clock</span></dt>
+<dt><span class="section">monotonic_clock</span></dt>
+<dt><span class="section">high_resolution_clock</span></dt>
+<dt><span class="section">process_cpu_clock</span></dt>
+<dt><span class="section">thread_clock</span></dt>
 </dl></dd>
 <dt><span class="section">I/O</span></dt>
 </dl></div>
@@ -66,30 +74,34 @@
           What Exactly is a <code class="computeroutput"><span class="identifier">duration</span></code>
           and How Do I Use One?</a></span></dt>
 <dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.what_happens_if_i_assign__m3___us3__to__minutes__instead_of__microseconds__">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
+ 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
           <code class="computeroutput"><span class="identifier">microseconds</span></code>?</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.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></span></dt>
 <dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.trafficking_in_floating_point_durations">Trafficking
- in floating point durations</a></span></dt>
+ in Floating Point Durations</a></span></dt>
 <dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.how_expensive_is_all_of_this_">How
- expensive is all of this?</a></span></dt>
+ Expensive is All of this?</a></span></dt>
 <dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.how_complicated_is_it_to_build_a_function_taking_a__duration__parameter_">How
- complicated is it to build a function taking a <code class="computeroutput"><span class="identifier">duration</span></code>
- parameter?</a></span></dt>
+ Complicated is it to Build a Function Taking a <code class="computeroutput"><span class="identifier">duration</span></code>
+ Parameter?</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.can_durations_overflow_">Can
+ durations overflow?</a></span></dt>
 </dl></div>
 <p>
           The <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> is the heart of this
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> is the heart of this
           library. The interface that the user will see in everyday use is nearly
           identical to that of <span class="bold"><strong>Boost.DateTime</strong></span> time
           <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a> authored by Jeff Garland,
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s authored by Jeff Garland,
           both in syntax and in behavior. This has been a very popular boost library
           for 7 years. There is an enormous positive history with this interface.
         </p>
 <p>
           The library consists of six units of time <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>:
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>:
         </p>
 <div class="itemizedlist"><ul type="disc">
 <li>
@@ -145,9 +157,9 @@
           In <span class="bold"><strong>Boost.DateTime</strong></span>, these units are united
           via inheritance. <span class="bold"><strong>Boost.Chrono</strong></span> instead
           unites these units through the class template <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. That is, in <span class="bold"><strong>Boost.Chrono</strong></span> all six of the above units are nothing
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. That is, in <span class="bold"><strong>Boost.Chrono</strong></span> all six of the above units are nothing
           but typedefs to different instantiations of <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. This change from Boost.DateTime
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. This change from Boost.DateTime
           has a far reaching positive impact, while not changing the syntax of the
           everyday use at all.
         </p>
@@ -155,14 +167,14 @@
           The most immediate positive impact is that the library can immediately
           generate any unit, any precision it needs. This is sometimes necessary
           when doing comparisons or arithmetic between <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a> of differing precision,
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s of differing precision,
           assuming one wants the comparison and arithmetic to be exactly correct.
         </p>
 <p>
           A secondary benefit is that by publishing the class template <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> interface, user code
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> interface, user code
           can very easily create <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a> with any precision
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s with any precision
           they desire. The <code class="computeroutput"><span class="identifier">ratio</span></code>
           utility is used to specify the precision, so as long as the precision can
           be expressed by a rational constant with respect to seconds, this framework
@@ -187,7 +199,7 @@
 <p>
           <span class="bold"><strong>Boost.Chrono</strong></span> continues, and generalizes
           that philosophy. Not only can one specify the precision of a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, one can also specify
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, one can also specify
           its representation. This can be any integral type, or even a floating point
           type. Or it can be a user-defined type which emulates an arithmetic type.
           The six predefined units all use signed integral types as their representation.
@@ -207,7 +219,7 @@
 </h5></div></div></div>
 <p>
             A <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> has a representation
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> has a representation
             and a tick period (precision).
           </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span> <span class="special">=</span> <code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">duration</span><span class="special">;</span>
@@ -216,29 +228,29 @@
             The representation is simply any arithmetic type, or an emulation of
             such a type. The representation stores a count of ticks. This count is
             the only data member stored in a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. If the representation
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. If the representation
             is floating point, it can store fractions of a tick to the precision
             of the representation. The tick period is represented by a <code class="computeroutput"><span class="identifier">ratio</span></code> and is encoded into the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s type, instead of
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s type, instead of
             stored. The tick period only has an impact on the behavior of the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> when a conversion between
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> when a conversion between
             different <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s is attempted. The
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s is attempted. The
             tick period is completely ignored when simply doing arithmetic among
             like <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a>.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s.
           </p>
 <p>
             <span class="bold"><strong>Example:</strong></span>
           </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">60</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">minutes</span><span class="special">;</span>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">60</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">minutes</span><span class="special">;</span>
 <span class="identifier">minutes</span> <span class="identifier">m1</span><span class="special">(</span><span class="number">3</span><span class="special">);</span> <span class="comment">// m1 stores 3
 </span><span class="identifier">minutes</span> <span class="identifier">m2</span><span class="special">(</span><span class="number">2</span><span class="special">);</span> <span class="comment">// m2 stores 2
 </span><span class="identifier">minutes</span> <span class="identifier">m3</span> <span class="special">=</span> <span class="identifier">m1</span> <span class="special">+</span> <span class="identifier">m2</span><span class="special">;</span> <span class="comment">// m3 stores 5
 </span>
-<span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">micro</span><span class="special">&gt;</span> <span class="identifier">microseconds</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">micro</span><span class="special">&gt;</span> <span class="identifier">microseconds</span><span class="special">;</span>
 <span class="identifier">microseconds</span> <span class="identifier">us1</span><span class="special">(</span><span class="number">3</span><span class="special">);</span> <span class="comment">// us1 stores 3
 </span><span class="identifier">microseconds</span> <span class="identifier">us2</span><span class="special">(</span><span class="number">2</span><span class="special">);</span> <span class="comment">// us2 stores 2
 </span><span class="identifier">microseconds</span> <span class="identifier">us3</span> <span class="special">=</span> <span class="identifier">us1</span> <span class="special">+</span> <span class="identifier">us2</span><span class="special">;</span> <span class="comment">// us3 stores 5
@@ -251,7 +263,7 @@
           </p>
 <p>
             If you need to access the tick count within a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, there is a member
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, there is a member
             <code class="computeroutput"><span class="identifier">count</span><span class="special">()</span></code>
             which simply returns the stored tick count.
           </p>
@@ -259,21 +271,21 @@
 </span></pre>
 <p>
             These <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a> have very simple,
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s have very simple,
             very predictable, and very observable behavior. After all, this is really
             nothing but the time tested interface of Jeff's boost time <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> library (unified with
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> library (unified with
             templates instead of inheritance).
           </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.users_guide.tutorial.duration.what_happens_if_i_assign__m3___us3__to__minutes__instead_of__microseconds__"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.what_happens_if_i_assign__m3___us3__to__minutes__instead_of__microseconds__" title="What
- happens if I assign m3 + us3
- to minutes instead of
+ Happens if I Assign m3 + us3
+ to minutes Instead of
           microseconds?">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
+ 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
           <code class="computeroutput"><span class="identifier">microseconds</span></code>?</a>
 </h5></div></div></div>
 <pre class="programlisting"><span class="identifier">minutes</span> <span class="identifier">m4</span> <span class="special">=</span> <span class="identifier">m3</span> <span class="special">+</span> <span class="identifier">us3</span><span class="special">;</span>
@@ -287,37 +299,117 @@
             a double to an <code class="computeroutput"><span class="keyword">int</span></code>: the
             fractional part gets silently discarded.
           </p>
-<a name="boost_chrono.users_guide.tutorial.duration.what_happens_if_i_assign__m3___us3__to__minutes__instead_of__microseconds__.but_what_if_the_truncation_behavior_is_what_i_want_to_do_"></a><h6>
-<a name="id4997825"></a>
- <a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.what_happens_if_i_assign__m3___us3__to__minutes__instead_of__microseconds__.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>
- </h6>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.users_guide.tutorial.duration.but_what_if_the_truncation_behavior_is_what_i_want_to_do_"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.but_what_if_the_truncation_behavior_is_what_i_want_to_do_" title="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></div></div></div>
 <p>
             There is a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a> facility to explicitly
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a> facility to explicitly
             ask for this behavior:
           </p>
-<pre class="programlisting"><span class="identifier">minutes</span> <span class="identifier">m4</span> <span class="special">=</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><span class="identifier">minutes</span><span class="special">&gt;(</span><span class="identifier">m3</span> <span class="special">+</span> <span class="identifier">us3</span><span class="special">);</span> <span class="comment">// m4.count() == 5
+<pre class="programlisting"><span class="identifier">minutes</span> <span class="identifier">m4</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><span class="identifier">minutes</span><span class="special">&gt;(</span><span class="identifier">m3</span> <span class="special">+</span> <span class="identifier">us3</span><span class="special">);</span> <span class="comment">// m4.count() == 5
 </span></pre>
 <p>
             In general, one can perform <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> arithmetic at will.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> arithmetic at will.
             If <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a> isn't used, and
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a> isn't used, and
             it compiles, the arithmetic is exact. Any place one wants to override
             this exact arithmetic behavior, <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a> can be used to
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a> can be used to
             explicitly specify that desire. The <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a> has the same efficiency
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a> has the same efficiency
             as the implicit conversion, and will even be exact as often as it can.
           </p>
+<p>
+ You can use <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>
+ to convert the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> into whatever units
+ you desire. This facility will round down (truncate) if an exact conversion
+ is not possible. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a> <span class="identifier">start</span><span class="special">;</span>
+<span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a> <span class="identifier">end</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">milliseconds</span></code></a> <span class="identifier">ms</span><span class="special">;</span>
+<span class="identifier">ms</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><span class="identifier">ms</span><span class="special">&gt;(</span><span class="identifier">end</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">);</span>
+
+<span class="comment">// d now holds the number of milliseconds from start to end.
+</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ms</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">"ms\n"</span><span class="special">;</span>
+</pre>
+<p>
+ We can convert to <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a>, or some integral-based
+ duration which <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a> will always exactly
+ convert to, then <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>
+ is unnecessary:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a> <span class="identifier">ns</span><span class="special">;</span>
+<span class="identifier">ns</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">end</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ns</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">"ns\n"</span><span class="special">;</span>
+</pre>
+<p>
+ If you need seconds with a floating point representation you can also
+ eliminate the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">sec</span><span class="special">;</span> <span class="comment">// seconds, stored with a double
+</span><span class="identifier">sec</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">end</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">sec</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">"s\n"</span><span class="special">;</span>
+</pre>
+<p>
+ If you're not sure if you need <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>
+ or not, feel free to try it without. If the conversion is exact, or if
+ the destination has a floating point representation, it will compile:
+ else it will not compile.
+ </p>
+<p>
+ If you need to use <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>,
+ but want to round up, instead of down when the conversion is inexact,
+ here is a handy little helper function to do so. Writing it is actually
+ a good starter project for understanding <span class="bold"><strong>Boost.Chrono</strong></span>:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ToDuration</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+<span class="identifier">ToDuration</span>
+<span class="identifier">round_up</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// first round down
+</span> <span class="identifier">ToDuration</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
+ Non-Member Function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><span class="identifier">ToDuration</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">result</span> <span class="special">&lt;</span> <span class="identifier">d</span><span class="special">)</span> <span class="comment">// comparisons are *always* exact
+</span> <span class="special">++</span><span class="identifier">result</span><span class="special">;</span> <span class="comment">// increment by one tick period
+</span> <span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">milliseconds</span></code></a> <span class="identifier">ms</span><span class="special">;</span>
+<span class="identifier">ms</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">round_up</span><span class="special">&lt;</span><span class="identifier">ms</span><span class="special">&gt;(</span><span class="identifier">end</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">);</span>
+<span class="comment">// d now holds the number of milliseconds from start to end, rounded up.
+</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ms</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">"ms\n"</span><span class="special">;</span>
+</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.users_guide.tutorial.duration.trafficking_in_floating_point_durations"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.trafficking_in_floating_point_durations" title="Trafficking
- in floating point durations">Trafficking
- in floating point durations</a>
+ in Floating Point Durations">Trafficking
+ in Floating Point Durations</a>
 </h5></div></div></div>
 <p>
             I don't want to deal with writing <code class="computeroutput"><span class="identifier">duration_cast</span></code>
@@ -328,16 +420,16 @@
             Not a problem. When the destination of a conversion has floating point
             representation, all conversions are allowed to happen implicitly.
           </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">60</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">dminutes</span><span class="special">;</span>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">60</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">dminutes</span><span class="special">;</span>
 <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>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.users_guide.tutorial.duration.how_expensive_is_all_of_this_"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.how_expensive_is_all_of_this_" title="How
- expensive is all of this?">How
- expensive is all of this?</a>
+ Expensive is All of this?">How
+ Expensive is All of this?</a>
 </h5></div></div></div>
 <p>
             If you were writing these conversions by hand, you could not make it
@@ -352,59 +444,59 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.users_guide.tutorial.duration.how_complicated_is_it_to_build_a_function_taking_a__duration__parameter_"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.how_complicated_is_it_to_build_a_function_taking_a__duration__parameter_" title="How
- complicated is it to build a function taking a duration
- parameter?">How
- complicated is it to build a function taking a <code class="computeroutput"><span class="identifier">duration</span></code>
- parameter?</a>
+ Complicated is it to Build a Function Taking a duration
+ Parameter?">How
+ Complicated is it to Build a Function Taking a <code class="computeroutput"><span class="identifier">duration</span></code>
+ Parameter?</a>
 </h5></div></div></div>
 <p>
             There are several options open to the user:
           </p>
 <div class="itemizedlist"><ul type="disc"><li>
                 If the author of the function wants to accept any <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, and is willing
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, and is willing
                 to work in floating point <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a>, he can simply
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s, he can simply
                 use any floating point <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> as the parameter:
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> as the parameter:
               </li></ul></div>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span> <span class="comment">// accept floating point seconds
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span> <span class="comment">// accept floating point seconds
 </span><span class="special">{</span>
- <span class="comment">// d.count() == 3.e-6 when passed microseconds(3)
+ <span class="comment">// d.count() == 3.e-6 when passed bchrono::microseconds(3)
 </span><span class="special">}</span>
 
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">microseconds</span><span class="special">(</span><span class="number">3</span><span class="special">));</span>
+<span class="identifier">f</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">microseconds</span><span class="special">(</span><span class="number">3</span><span class="special">));</span>
 </pre>
 <div class="itemizedlist"><ul type="disc"><li>
                 If the author of the function wants to traffic only in integral
                 <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a>, and is content
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s, and is content
                 with handling nothing finer than say nanoseconds (just as an example),
                 he can simply specify nanoseconds as the parameter:
               </li></ul></div>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">nanoseconds</span> <span class="identifier">d</span><span class="special">)</span>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">nanoseconds</span> <span class="identifier">d</span><span class="special">)</span>
 <span class="special">{</span>
- <span class="comment">// d.count() == 3000 when passed microseconds(3)
+ <span class="comment">// d.count() == 3000 when passed bchrono::microseconds(3)
 </span><span class="special">}</span>
 
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">microseconds</span><span class="special">(</span><span class="number">3</span><span class="special">));</span>
+<span class="identifier">f</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">microseconds</span><span class="special">(</span><span class="number">3</span><span class="special">));</span>
 </pre>
 <p>
             In this design, if the client wants to pass in a floating point <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, or a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> of finer precision
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, or a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> of finer precision
             than nanoseconds, then the client is responsible for choosing his own
             rounding mode in the conversion to nanoseconds.
           </p>
-<pre class="programlisting"> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">s</span><span class="special">(</span><span class="number">1.</span><span class="special">/</span><span class="number">3</span><span class="special">);</span> <span class="comment">// 1/3 of a second
-</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">nanoseconds</span><span class="special">&gt;(</span><span class="identifier">s</span><span class="special">));</span> <span class="comment">// round towards zero in conversion to nanoseconds
+<pre class="programlisting"><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">s</span><span class="special">(</span><span class="number">1.</span><span class="special">/</span><span class="number">3</span><span class="special">);</span> <span class="comment">// 1/3 of a second
+</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">nanoseconds</span><span class="special">&gt;(</span><span class="identifier">s</span><span class="special">));</span> <span class="comment">// round towards zero in conversion to nanoseconds
 </span></pre>
 <p>
             In the example above, the client of f has chosen "round towards
             zero" as the desired rounding mode to nanoseconds. If the client
             has a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> that won't exactly
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> that won't exactly
             convert to nanoseconds, and fails to choose how the conversion will take
             place, the compiler will refuse the call:
           </p>
@@ -412,56 +504,68 @@
 </span></pre>
 <div class="itemizedlist"><ul type="disc"><li>
                 If the author of the function wants to accept any <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, but wants to work
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, but wants to work
                 with integral representations and wants to control the rounding mode
                 internally, then he can template the function:
               </li></ul></div>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span>
+<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span>
 <span class="special">{</span>
     <span class="comment">// convert d to nanoseconds, rounding up if it is not an exact conversion
-</span> <span class="identifier">nanoseconds</span> <span class="identifier">ns</span> <span class="special">=</span> <span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">nanoseconds</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
+</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">nanoseconds</span> <span class="identifier">ns</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">nanoseconds</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
     <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ns</span> <span class="special">&lt;</span> <span class="identifier">d</span><span class="special">)</span>
         <span class="special">++</span><span class="identifier">ns</span><span class="special">;</span>
     <span class="comment">// ns.count() == 333333334 when passed 1/3 of a floating point second
 </span><span class="special">}</span>
 
-<span class="identifier">f</span><span class="special">(</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">1.</span><span class="special">/</span><span class="number">3</span><span class="special">));</span>
+ <span class="identifier">f</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">1.</span><span class="special">/</span><span class="number">3</span><span class="special">));</span>
 </pre>
 <div class="itemizedlist"><ul type="disc"><li>
                 If the author in the example does not want to accept floating point
                 based <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a>, he can enforce
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s, he can enforce
                 that behavior like so:
               </li></ul></div>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span>
+<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span>
 <span class="special">{</span>
     <span class="comment">// convert d to nanoseconds, rounding up if it is not an exact conversion
-</span> <span class="identifier">nanoseconds</span> <span class="identifier">ns</span> <span class="special">=</span> <span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">nanoseconds</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
+</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">nanoseconds</span> <span class="identifier">ns</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration_cast</span><span class="special">&lt;</span><span class="identifier">nanoseconds</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
     <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ns</span> <span class="special">&lt;</span> <span class="identifier">d</span><span class="special">)</span>
         <span class="special">++</span><span class="identifier">ns</span><span class="special">;</span>
     <span class="comment">// ns.count() == 333333334 when passed 333333333333 picoseconds
 </span><span class="special">}</span>
-
-<span class="identifier">f</span><span class="special">(</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">pico</span><span class="special">&gt;(</span><span class="number">333333333333</span><span class="special">));</span> <span class="comment">// About 1/3 of a second worth of picoseconds
-</span></pre>
+<span class="comment">// About 1/3 of a second worth of picoseconds
+</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">pico</span><span class="special">&gt;(</span><span class="number">333333333333</span><span class="special">));</span>
+</pre>
 <p>
             Clients with floating point <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a> who want to use f
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s who want to use f
             will now have to convert to an integral <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> themselves before passing
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> themselves before passing
             the result to f.
           </p>
 <p>
             In summary, the author of f has quite a bit of flexibility and control
             in the interface he wants to provide his clients with, and easy options
             for manipulating that <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> internal to his function.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> internal to his function.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.users_guide.tutorial.duration.can_durations_overflow_"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.duration.can_durations_overflow_" title="Can
+ durations overflow?">Can
+ durations overflow?</a>
+</h5></div></div></div>
+<p>
+ This depend on the representation. The default typedefs uses a representation
+ that don't handle overflows. The user can define his own representation
+ that manage overflow as required by its application.
           </p>
 </div>
 </div>
@@ -471,12 +575,12 @@
 </h4></div></div></div>
 <p>
           While <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code>'s</a> only have precision
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s only have precision
           and representation to concern themselves, clocks and <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code>'s</a> are intimately related
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s are intimately related
           and refer to one another. Because clocks are simpler to explain, we will
           do so first without fully explaining <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code>'s</a>. Once clocks are
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s. Once clocks are
           introduced, it will be easier to then fill in what a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> is.
         </p>
@@ -486,7 +590,7 @@
 <div class="orderedlist"><ol type="1">
 <li>
               A concrete <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> type.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> type.
             </li>
 <li>
               A concrete <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
@@ -498,25 +602,39 @@
             </li>
 </ol></div>
 <p>
- <span class="bold"><strong>Boost.Chrono</strong></span> provides the standard concrete
- clocks:
+ The standard defines tree system-wide clocks that are associated to the
+ computer time.
         </p>
-<div class="orderedlist"><ol type="1">
+<div class="itemizedlist"><ul type="disc">
 <li>
               <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
- Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a>
+ Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a> represents system-wide
+ realtime clock that can be synchronized with an external clock.
             </li>
 <li>
               <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
- Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a>
+ Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a> can not be
+ changed explicitly and the time since the initial epoch increase in
+ a monotonic way.
             </li>
 <li>
- __high_precision<span class="underline">clock</span>_
+ <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
+ Class high_resolution_clock"><code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a> intend
+ to use the system-wide clock provided by the platform with the higest
+ resolution.
             </li>
-</ol></div>
+</ul></div>
+<p>
+ <span class="bold"><strong>Boost.Chrono</strong></span> provides them when supported
+ by the underlying platform. A given platform may not be able to supply
+ all three of these clocks.
+ </p>
+<p>
+ The library adds some clocks that are specific to a process or a thread,
+ that is there is a clock per process or per thread.
+ </p>
 <p>
- A given platform may not be able to supply all three of these clocks. The
- user is also able to easily create more clocks.
+ The user is also able to easily create more clocks.
         </p>
 <p>
           Given a clock named Clock, it will have:
@@ -525,12 +643,12 @@
 <span class="keyword">public</span><span class="special">:</span>
     <span class="keyword">typedef</span> <span class="identifier">an</span> <span class="identifier">arithmetic</span><span class="special">-</span><span class="identifier">like</span> <span class="identifier">type</span> <span class="identifier">rep</span><span class="special">;</span>
     <span class="keyword">typedef</span> <span class="identifier">an</span> <span class="identifier">instantiation</span> <span class="identifier">of</span> <span class="identifier">ratio</span> <span class="identifier">period</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">rep</span><span class="special">,</span> <span class="identifier">period</span><span class="special">&gt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ <span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">rep</span><span class="special">,</span> <span class="identifier">period</span><span class="special">&gt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">&lt;</span><span class="identifier">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="keyword">or</span> <span class="keyword">false</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="keyword">bool</span> <span class="identifier">is_monotonic</span> <span class="special">=</span> <span class="keyword">true</span> <span class="keyword">or</span> <span class="keyword">false</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="special">};</span>
@@ -542,11 +660,11 @@
 </pre>
 <p>
           And one can get the time <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> between two <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code>'s</a> associated with Clock
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> between two <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s associated with Clock
           with:
         </p>
-<pre class="programlisting"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">t1</span> <span class="special">-</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
+<pre class="programlisting"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">-</span> <span class="identifier">t1</span><span class="special">;</span>
 </pre>
 <p>
           And one can specify a past or future <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
@@ -559,7 +677,7 @@
           line will have the same API. There is no new learning curve to come up.
           The only source code changes will be simply changing the type of the clock.
           The same <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> and <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> and <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> framework continues
           to work as new clocks are introduced. And multiple clocks are safely and
           easily handled within the same program.
@@ -571,24 +689,19 @@
         Point">Time
         Point</a>
 </h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.time_point.so_what_exactly_is_a__time_point__and_how_do_i_use_one_">So
+<div class="toc"><dl><dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.time_point.so_what_exactly_is_a__time_point__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></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.time_point.how_to_get_the_actual_cpu_milliseconds__or_other_units___used_by_the_current_thread_between_end_and_start_">How
- to get the actual CPU milliseconds (or other units?) used by the current
- thread between end and start?</a></span></dt>
-</dl></div>
+ and How Do I Use One?</a></span></dt></dl></div>
 <p>
           A <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> represents a point
           in time, as opposed to a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> of time. Another way
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> of time. Another way
           of saying the same thing, is that a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> represents an epoch
           plus or minus a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. Examples of <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code>'s</a> include:
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. Examples of <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s include:
         </p>
 <div class="itemizedlist"><ul type="disc">
 <li>
@@ -606,20 +719,20 @@
           an epoch has meaning for several millennia. Other times the meaning of
           an epoch is lost after a while (such as the start of a timer, or when the
           computer booted). However, if two <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code>'s</a> are known to share
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s are known to share
           the same epoch, they can be subtracted, yielding a valid <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, even if the definition
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>, even if the definition
           of the epoch no longer has meaning.
         </p>
 <p>
           In <span class="bold"><strong>Boost.Chrono</strong></span>, an epoch is a purely
           abstract and unspecified concept. There is no type representing an epoch.
           It is simply an idea that relates (or doesn't) <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code>'s</a> to a clock, and in
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s to a clock, and in
           the case that they share a clock, <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code>'s</a> to one another.
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s to one another.
           <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code>'s</a> associated with different
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s associated with different
           clocks are generally not interoperable unless the relationship between
           the epochs associated with each clock is known.
         </p>
@@ -635,9 +748,10 @@
             A <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> has a clock and a
             <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>.
           </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">,</span> <span class="keyword">class</span> <span class="identifier">Duration</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">time_point</span><span class="special">;</span>
+<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="keyword">class</span> <span class="identifier">Duration</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&gt;</span> <span class="keyword">class</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><span class="special">;</span>
 </pre>
 <p>
             The <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
@@ -649,10 +763,10 @@
 <div class="orderedlist"><ol type="1">
 <li>
                 Because <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code>'s</a> originating
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s originating
                 from different clocks have different types, the compiler can be instructed
                 to fail if incompatible <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code>'s</a> are used in
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s are used in
                 inappropriate ways.
               </li>
 <li>
@@ -668,12 +782,12 @@
 <p>
             A <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> is stored as the only
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> is stored as the only
             data member of the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>. Thus <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code>'s</a> and their corresponding
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s and their corresponding
             <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> have exactly the same
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> have exactly the same
             layout. But they have very different meanings. For example, it is one
             thing to say I want to sleep for 3 minutes. It is a completely different
             thing to say I want to sleep until 3 minutes past the time I started
@@ -687,24 +801,24 @@
           </p>
 <pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">()</span>
 <span class="special">{</span>
- <span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">start</span> <span class="special">=</span> <span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
+ <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">start</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
     <span class="identifier">g</span><span class="special">();</span>
     <span class="identifier">h</span><span class="special">();</span>
- <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">sec</span> <span class="special">=</span> <span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">;</span>
+ <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">sec</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">;</span>
     <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"f() took "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sec</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" seconds\n"</span><span class="special">;</span>
 <span class="special">}</span>
 </pre>
 <p>
             Note that if one is using the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> between two clock
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> between two clock
             <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
- Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code>'s</a> in a way where
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a>'s in a way where
             the precision of the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> matters, it is good
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> matters, it is good
             practice to convert the clock's <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> to a known <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. This insulates the
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> to a known <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. This insulates the
             code from future changes which may be made to the clock's precision in
             the future. For example <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
           Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a> could easily
@@ -717,8 +831,8 @@
             A delay loop example:
           </p>
 <pre class="programlisting"><span class="comment">// delay for at least 500 nanoseconds:
-</span><span class="keyword">auto</span> <span class="identifier">go</span> <span class="special">=</span> <span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">nanoseconds</span><span class="special">(</span><span class="number">500</span><span class="special">);</span>
-<span class="keyword">while</span> <span class="special">(</span><span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">&lt;</span> <span class="identifier">go</span><span class="special">)</span>
+</span><span class="keyword">auto</span> <span class="identifier">go</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">nanoseconds</span><span class="special">(</span><span class="number">500</span><span class="special">);</span>
+<span class="keyword">while</span> <span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">&lt;</span> <span class="identifier">go</span><span class="special">)</span>
     <span class="special">;</span>
 </pre>
 <p>
@@ -730,66 +844,105 @@
             more accurate will be the delay to 500 nanoseconds.
           </p>
 </div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.users_guide.tutorial.specific_clocks"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.specific_clocks" title="Specific
+ Clocks">Specific
+ Clocks</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">system_clock</span></dt>
+<dt><span class="section">monotonic_clock</span></dt>
+<dt><span class="section">high_resolution_clock</span></dt>
+<dt><span class="section">process_cpu_clock</span></dt>
+<dt><span class="section">thread_clock</span></dt>
+</dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.users_guide.tutorial.time_point.how_to_get_the_actual_cpu_milliseconds__or_other_units___used_by_the_current_thread_between_end_and_start_"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.time_point.how_to_get_the_actual_cpu_milliseconds__or_other_units___used_by_the_current_thread_between_end_and_start_" title="How
- to get the actual CPU milliseconds (or other units?) used by the current
- thread between end and start?">How
- to get the actual CPU milliseconds (or other units?) used by the current
- thread between end and start?</a>
+<a name="boost_chrono.users_guide.tutorial.specific_clocks.system_clock"></a>system_clock
 </h5></div></div></div>
 <p>
- You can use <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>
- to convert the <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a><code class="computeroutput"><span class="special">::</span><span class="identifier">duration</span></code> into whatever units you desire.
- This facility will round down (truncate) if an exact conversion is not
- possible. Ex:
+ __system_clock is useful when you need to correlate the time with a known
+ epoch so you can convert it to a calendar time. Note the specific functions
+ in the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="
+ Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a> class.
           </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">milliseconds</span></code></a> <span class="identifier">ms</span><span class="special">;</span>
-<span class="identifier">ms</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><span class="identifier">ms</span><span class="special">&gt;(</span><span class="identifier">end</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">);</span>
-
-<span class="comment">// d now holds the number of milliseconds from start to end.
-</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ms</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">"ms\n"</span><span class="special">;</span>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.users_guide.tutorial.specific_clocks.monotonic_clock"></a>monotonic_clock
+</h5></div></div></div>
+<p>
+ <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
+ Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a> is useful when
+ you need to wait for a specific amount of time. <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
+ Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a> time can not
+ be reset. As other monotonic clocks, it is based on the processor tick.
+ </p>
+<p>
+ Next is presented a polling solution, which will however be too inefficient:
+ </p>
+<pre class="programlisting"><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
+ Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">start</span><span class="special">=</span> <span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
+ Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
+<span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
+ Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">delay</span><span class="special">=</span> <span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
+<span class="keyword">while</span> <span class="special">(</span><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.monotonic_clock" title="
+ Class monotonic_clock"><code class="computeroutput"><span class="identifier">monotonic_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">-</span> <span class="identifier">start</span> <span class="special">&lt;=</span> <span class="identifier">delay</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.users_guide.tutorial.specific_clocks.high_resolution_clock"></a>high_resolution_clock
+</h5></div></div></div>
 <p>
- As <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a><span class="special">::</span><span class="identifier">duration</span></code> is <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a>, we can convert
- to <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a>, or some integral-based
- duration which <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a> will always exactly
- convert to, then <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>
- is unnecessary:
+ When available, <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.system_clocks_hpp.high_resolution_clock" title="
+ Class high_resolution_clock"><code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a> is usualy
+ more expensive than the other system-wide clocks, so they are used only
+ when the provided resolution is required to the application.
           </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a> <span class="identifier">ns</span><span class="special">;</span>
-<span class="identifier">ns</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">end</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ns</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">"ns\n"</span><span class="special">;</span>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.users_guide.tutorial.specific_clocks.process_cpu_clock"></a>process_cpu_clock
+</h5></div></div></div>
+<p>
+ Process and thread clocks are used usualy to measure the time spent by
+ code blocks, as a basic time-spent profiling of different blocks of code
+ (Boost.Stopwatch is clear example of this use).
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.users_guide.tutorial.specific_clocks.thread_clock"></a>thread_clock
+</h5></div></div></div>
+<p>
+ You can use <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
+ Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a> whenever you want
+ to measure the time spent by the current thread. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
+ Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">start</span><span class="special">=</span><span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
+ Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
+<span class="comment">//do something
+</span>
+<span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
+ duration typedefs"><code class="computeroutput"><span class="identifier">milliseconds</span></code></a> <span class="identifier">ms</span><span class="special">;</span>
+<span class="identifier">ms</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
+ Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">;</span>
+<span class="comment">// d now holds the number of milliseconds from start to end.
+</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ms</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">"ms\n"</span><span class="special">;</span>
 </pre>
 <p>
- If you need seconds with a floating point representation you can also
- eliminate the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>:
+ If you need seconds with a floating point representation you can do:
           </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">sec</span><span class="special">;</span> <span class="comment">// seconds, stored with a double
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">sec</span><span class="special">;</span> <span class="comment">// seconds, stored with a double
 </span><span class="identifier">sec</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">end</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">;</span>
 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">sec</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">"s\n"</span><span class="special">;</span>
 </pre>
 <p>
- If you're not sure if you need <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>
- or not, feel free to try it without. If the conversion is exact, or if
- the destination has a floating point representation, it will compile.
- Else it will not compile.
- </p>
-<p>
             If you would like to programmatically inspect <code class="computeroutput"><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
           Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a><span class="special">::</span><span class="identifier">duration</span></code>, you can get the representation
             type with <code class="computeroutput"><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
@@ -802,32 +955,6 @@
             (<code class="computeroutput"><span class="number">1</span></code> billionth of a second),
             stored in a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>.
           </p>
-<p>
- If you need to use <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>,
- but want to round up, instead of down when the conversion is inexact,
- here is a handy little helper function to do so. Writing it is actually
- a good starter project for understanding chrono:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ToDuration</span><span class="special">,</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span>
-<span class="identifier">ToDuration</span>
-<span class="identifier">round_up</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;</span> <span class="identifier">d</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// first round down
-</span> <span class="identifier">ToDuration</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_cast" title="
- Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><span class="special">&lt;</span><span class="identifier">ToDuration</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">result</span> <span class="special">&lt;</span> <span class="identifier">d</span><span class="special">)</span> <span class="comment">// comparisons are *always* exact
-</span> <span class="special">++</span><span class="identifier">result</span><span class="special">;</span> <span class="comment">// increment by one tick period
-</span> <span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
-<span class="special">}</span>
-
-<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration_typedefs" title="
- duration typedefs"><code class="computeroutput"><span class="identifier">milliseconds</span></code></a> <span class="identifier">ms</span><span class="special">;</span>
-<span class="identifier">ms</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">round_up</span><span class="special">&lt;</span><span class="identifier">ms</span><span class="special">&gt;(</span><span class="identifier">end</span> <span class="special">-</span> <span class="identifier">start</span><span class="special">);</span>
-<span class="comment">// d now holds the number of milliseconds from start to end, rounded up.
-</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ms</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">"ms\n"</span><span class="special">;</span>
-</pre>
 </div>
 </div>
 <div class="section" lang="en">
@@ -836,42 +963,40 @@
 </h4></div></div></div>
 <p>
           Any <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> can be streamed out to
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> can be streamed out to
           a <code class="computeroutput"><span class="identifier">basic_ostream</span></code>. The run
           time value of the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> is formatted according
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> is formatted according
           to the rules and current format settings for <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><code class="computeroutput"><span class="special">::</span><span class="identifier">rep</span></code>. This is followed by a single space
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><code class="computeroutput"><span class="special">::</span><span class="identifier">rep</span></code>. This is followed by a single space
           and then the compile time unit name of the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. This unit name is built
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>. This unit name is built
           on the string returned from <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;&gt;</span></code> and the data used to construct
           the <a href="../reference/io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> which was inserted
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> which was inserted
           into the stream's locale. If a <a href="../reference/io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> has not been inserted
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> has not been inserted
           into the stream's locale, a default constructed <a href="../reference/io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> will be added to
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> will be added to
           the stream's locale.
         </p>
 <p>
           <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> unit names come in two
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> unit names come in two
           varieties: long and short. The default constructed <a href="../reference/io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> provides names
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> provides names
           in the long format. These names are English descriptions. Other languages
           are supported by constructing a <a href="../reference/io.html#boost_chrono.reference.io.chrono_io_hpp.duration_punct" title="
- Template class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> with the proper
- spellings for hours, "minutes" and "seconds", and their
- abbreviations (for the short format). The short or long format can be easily
- chosen by streaming a <code class="computeroutput"><span class="identifier">duration_short</span></code>
- or <code class="computeroutput"><span class="identifier">duration_long</span></code> manipulator
- respectively.
+ Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a> with the proper
+ spellings for "hours", "minutes" and "seconds",
+ and their abbreviations (for the short format). The short or long format
+ can be easily chosen by streaming a <code class="computeroutput"><span class="identifier">duration_short</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">duration_long</span><span class="special">()</span></code> manipulator respectively.
         </p>
 <p>
           A <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> is formatted by outputting
           its internal <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> followed by a string
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> followed by a string
           that describes the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
           Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a><code class="computeroutput"><span class="special">::</span><span class="identifier">clock</span></code> epoch. This string will vary for
           each distinct clock, and for each implementation of the supplied clocks.
@@ -886,36 +1011,38 @@
 <span class="special">{</span>
     <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
     <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">bchrono</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">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"milliseconds(3) + microseconds(10) = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">milliseconds</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">microseconds</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">milliseconds</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">microseconds</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
 
     <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"hours(3) + minutes(10) = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">hours</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">minutes</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">hours</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">minutes</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
 
- <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">1</span><span class="special">,</span> <span class="number">2500000000</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">ClockTick</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ClockTick(3) + nanoseconds(10) = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">ClockTick</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">nanoseconds</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">1</span><span class="special">,</span> <span class="number">2500000000</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">ClockTick</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ClockTick(3) + bchrono::nanoseconds(10) = "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">ClockTick</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">nanoseconds</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
 
     <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nSet cout to use short names:\n"</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">duration_short</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration_short</span><span class="special">;</span>
 
     <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"milliseconds(3) + microseconds(10) = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">milliseconds</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">microseconds</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">milliseconds</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">microseconds</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
 
     <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"hours(3) + minutes(10) = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">hours</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">minutes</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">hours</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">minutes</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
 
     <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ClockTick(3) + nanoseconds(10) = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">ClockTick</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">nanoseconds</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">ClockTick</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">nanoseconds</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
 
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nsystem_clock::now() = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nsystem_clock::now() = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">system_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
 <span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"monotonic_clock::now() = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"monotonic_clock::now() = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
 <span class="preprocessor">#endif</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nSet cout to use long names:\n"</span> <span class="special">&lt;&lt;</span> <span class="identifier">duration_long</span>
- <span class="special">&lt;&lt;</span> <span class="string">"high_resolution_clock::now() = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">high_resolution_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nSet cout to use long names:\n"</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration_long</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"high_resolution_clock::now() = "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
     <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
 <span class="special">}</span>
 </pre>
@@ -938,18 +1065,19 @@
 <span class="identifier">high_resolution_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">=</span> <span class="number">18588963785548</span> <span class="identifier">nanoseconds</span> <span class="identifier">since</span> <span class="identifier">boot</span>
 </pre>
 <p>
- Parsing a <code class="computeroutput"><span class="identifier">duration</span></code> follows
- rules analogous to the <code class="computeroutput"><span class="identifier">duration</span></code>
- converting constructor. A value and a unit (short or long) are read from
- the <code class="computeroutput"><span class="identifier">basic_istream</span></code>. If the
- <code class="computeroutput"><span class="identifier">duration</span></code> has an integral
- representation, then the value parsed must be exactly representable in
- the target <code class="computeroutput"><span class="identifier">duration</span></code> (after
- conversion to the target <code class="computeroutput"><span class="identifier">duration</span></code>
- units), else <code class="computeroutput"><span class="identifier">failbit</span></code> is
- set. <code class="computeroutput"><span class="identifier">duration</span></code>s based on
- floating point representations can be parsed using any units that do not
- cause overflow.
+ Parsing a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> follows rules analogous
+ to the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> converting constructor.
+ A value and a unit (short or long) are read from the <code class="computeroutput"><span class="identifier">basic_istream</span></code>.
+ If the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> has an integral representation,
+ then the value parsed must be exactly representable in the target <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> (after conversion to
+ the target <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> units), else <code class="computeroutput"><span class="identifier">failbit</span></code> is set. <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a>'s based on floating point
+ representations can be parsed using any units that do not cause overflow.
         </p>
 <p>
           For example a stream containing "5000 milliseconds" can be parsed
@@ -967,10 +1095,10 @@
 <span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
 <span class="special">{</span>
     <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">bchrono</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">istringstream</span> <span class="identifier">in</span><span class="special">(</span><span class="string">"5000 milliseconds 4000 ms 3001 ms"</span><span class="special">);</span>
- <span class="identifier">seconds</span> <span class="identifier">d</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
+ <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">seconds</span> <span class="identifier">d</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
     <span class="identifier">in</span> <span class="special">&gt;&gt;</span> <span class="identifier">d</span><span class="special">;</span>
     <span class="identifier">assert</span><span class="special">(</span><span class="identifier">in</span><span class="special">.</span><span class="identifier">good</span><span class="special">());</span>
     <span class="identifier">assert</span><span class="special">(</span><span class="identifier">d</span> <span class="special">==</span> <span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
@@ -985,17 +1113,19 @@
 <span class="special">}</span>
 </pre>
 <p>
- Note that a <code class="computeroutput"><span class="identifier">duration</span></code> failure
- may occur late in the parsing process. This means that the characters making
- up the failed parse in the stream are usually consumed despite the failure
- to successfully parse.
+ Note that a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> failure may occur late
+ in the parsing process. This means that the characters making up the failed
+ parse in the stream are usually consumed despite the failure to successfully
+ parse.
         </p>
 <p>
- Parsing a <code class="computeroutput"><span class="identifier">time_point</span></code> involves
- first parsing a <code class="computeroutput"><span class="identifier">duration</span></code>
- and then parsing the epoch string. If the epoch string does not match that
- associated with <code class="computeroutput"><span class="identifier">time_point</span><span class="special">::</span><span class="identifier">clock</span></code>
- then failbit will be set.
+ Parsing a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.time_point_hpp.time_point" title="
+ Class template time_point&lt;&gt;"><code class="computeroutput"><span class="identifier">time_point</span></code></a> involves first parsing
+ a <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.duration_hpp.duration" title="
+ Class Template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a> and then parsing the
+ epoch string. If the epoch string does not match that associated with
+ <code class="computeroutput"><span class="identifier">time_point</span><span class="special">::</span><span class="identifier">clock</span></code> then failbit will be set.
         </p>
 <p>
           <span class="bold"><strong>Example:</strong></span>
@@ -1008,18 +1138,18 @@
 <span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
 <span class="special">{</span>
     <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">bchrono</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">high_resolution_clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">t0</span> <span class="special">=</span> <span class="identifier">high_resolution_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
+ <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">t0</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
     <span class="identifier">stringstream</span> <span class="identifier">io</span><span class="special">;</span>
     <span class="identifier">io</span> <span class="special">&lt;&lt;</span> <span class="identifier">t0</span><span class="special">;</span>
- <span class="identifier">high_resolution_clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">t1</span><span class="special">;</span>
+ <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">t1</span><span class="special">;</span>
     <span class="identifier">io</span> <span class="special">&gt;&gt;</span> <span class="identifier">t1</span><span class="special">;</span>
     <span class="identifier">assert</span><span class="special">(!</span><span class="identifier">io</span><span class="special">.</span><span class="identifier">fail</span><span class="special">());</span>
     <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">io</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
     <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">t0</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
     <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">t1</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
- <span class="identifier">high_resolution_clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">high_resolution_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
+ <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
     <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
 
     <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"That took "</span> <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">-</span> <span class="identifier">t0</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
@@ -1045,10 +1175,10 @@
 <span class="special">{</span>
     <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
     <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">bchrono</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="keyword">typedef</span> <span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">monotonic_clock</span><span class="special">,</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">3600</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">T</span><span class="special">;</span>
- <span class="identifier">T</span> <span class="identifier">tp</span> <span class="special">=</span> <span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
+ <span class="keyword">typedef</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span><span class="special">,</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">3600</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">T</span><span class="special">;</span>
+ <span class="identifier">T</span> <span class="identifier">tp</span> <span class="special">=</span> <span class="identifier">bchrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span>
     <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">tp</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
     <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
 <span class="special">}</span>

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-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -1,10 +1,10 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Boost.Chrono 0.7.0</title>
+<title>Boost.Chrono 0.7.1</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 0.7.0">
+<link rel="start" href="index.html" title="Boost.Chrono 0.7.1">
 <link rel="next" href="boost_chrono/overview.html" title="Overview">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -22,7 +22,7 @@
 <div class="titlepage">
 <div>
 <div><h2 class="title">
-<a name="boost_chrono"></a>Boost.Chrono 0.7.0</h2></div>
+<a name="boost_chrono"></a>Boost.Chrono 0.7.1</h2></div>
 <div><div class="authorgroup">
 <div class="author"><h3 class="author">
 <span class="firstname">Howard</span> <span class="surname">Hinnant</span>
@@ -38,7 +38,7 @@
 <div><p class="copyright">Copyright &#169; 2006 , 2008 Beman Dawes</p></div>
 <div><p class="copyright">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba</p></div>
 <div><div class="legalnotice">
-<a name="id4946075"></a><p>
+<a name="id4987032"></a><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>
@@ -54,7 +54,7 @@
 <dt><span class="section">Motivation</span></dt>
 <dt><span class="section">Description</span></dt>
 </dl></dd>
-<dt><span class="section"> Users'Guide</span></dt>
+<dt><span class="section"> User's Guide</span></dt>
 <dd><dl>
 <dt><span class="section"> Getting Started</span></dt>
 <dt><span class="section">Tutorial</span></dt>
@@ -64,10 +64,9 @@
 <dt><span class="section"> Reference </span></dt>
 <dd><dl>
 <dt><span class="section"><a href="boost_chrono/reference/cpp0x.html"> Included on the C++0x
- recommendation</a></span></dt>
+ Recommendation</a></span></dt>
 <dt><span class="section"> Chrono I/O</span></dt>
-<dt><span class="section"> Other clocks</span></dt>
-<dt><span class="section"> Deprecated Headers</span></dt>
+<dt><span class="section"> Other Clocks</span></dt>
 </dl></dd>
 <dt><span class="section">Appendices</span></dt>
 <dd><dl>
@@ -93,7 +92,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: October 30, 2010 at 17:21:10 GMT</small></p></td>
+<td align="left"><p><small>Last revised: November 12, 2010 at 16:51:21 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-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -11,7 +11,6 @@
 boost_chrono/reference/cpp0x.html
 boost_chrono/reference/io.html
 boost_chrono/reference/other_clocks.html
-boost_chrono/reference/deprecated.html
 boost_chrono/appendices.html
 boost_chrono/appendices/history.html
 boost_chrono/appendices/rationale.html

Modified: sandbox/chrono/libs/chrono/example/chrono_accuracy_test.cpp
==============================================================================
--- sandbox/chrono/libs/chrono/example/chrono_accuracy_test.cpp (original)
+++ sandbox/chrono/libs/chrono/example/chrono_accuracy_test.cpp 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -8,7 +8,7 @@
 
 // See http://www.boost.org/libs/chrono for documentation.
 
-#include <boost/chrono/process_times.hpp>
+//#include <boost/chrono/process_cpu_clocks.hpp>
 #include <boost/chrono/timer.hpp>
 #include <cstdlib> // for atol()
 #include <iostream>
@@ -17,7 +17,7 @@
 #include <ctime>
 #include <cmath> // for sqrt(), used to burn time
 
-using boost::chrono::run_timer;
+//using boost::chrono::run_timer;
 using boost::system::error_code;
 
 #include <boost/detail/lightweight_test.hpp>
@@ -41,7 +41,7 @@
     boost::chrono::monotonic_timer mono;
 #endif
     boost::chrono::high_resolution_timer hires;
- boost::chrono::process_timer process;
+ boost::chrono::timer<boost::chrono::process_cpu_clock> process;
 
     std::clock_t now;
     do
@@ -54,8 +54,8 @@
     boost::chrono::monotonic_timer::duration mono_dur = mono.elapsed();
 #endif
     boost::chrono::high_resolution_timer::duration hires_dur = hires.elapsed();
- boost::chrono::process_times times;
- process.elapsed( times );
+ boost::chrono::process_cpu_clock::duration times;
+ times = process.elapsed();
 
     std::cout << std::endl;
 
@@ -85,10 +85,10 @@
     BOOST_TEST( hires_dur > timeout_in_nanoseconds - maximum_delta
       && hires_dur < timeout_in_nanoseconds + maximum_delta );
 
- std::cout << times.real.count() << " times.real\n";
+ std::cout << times.count().real << " times.real\n";
 
- BOOST_TEST( times.real > timeout_in_nanoseconds - maximum_delta
- && times.real < timeout_in_nanoseconds + maximum_delta );
+// BOOST_TEST( times.count().real > timeout_in_nanoseconds - maximum_delta
+// && times.count().real < timeout_in_nanoseconds + maximum_delta );
   }
 
 }

Modified: sandbox/chrono/libs/chrono/example/test_clock.cpp
==============================================================================
--- sandbox/chrono/libs/chrono/example/test_clock.cpp (original)
+++ sandbox/chrono/libs/chrono/example/test_clock.cpp 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -33,6 +33,8 @@
 
 #include "clock_name.hpp"
 
+#if defined(BOOST_NO_CONSTEXPR)
+
 using namespace boost::chrono;
 
 template <typename Clock>
@@ -170,3 +172,11 @@
     return 0;
 }
 
+#else
+int main()
+{
+
+
+ return 0;
+}
+#endif

Modified: sandbox/chrono/libs/chrono/src/chrono.cpp
==============================================================================
--- sandbox/chrono/libs/chrono/src/chrono.cpp (original)
+++ sandbox/chrono/libs/chrono/src/chrono.cpp 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -1,7 +1,7 @@
 // chrono.cpp --------------------------------------------------------------//
 
 // Copyright Beman Dawes 2008
-// Copyright Vicente J. Botet Escriba 2009
+// Copyright Vicente J. Botet Escriba 2009-2010
 
 // Distributed under the Boost Software License, Version 1.0.
 // See http://www.boost.org/LICENSE_1_0.txt
@@ -12,35 +12,3 @@
 
 #include <boost/chrono/detail/inlined/chrono.hpp>
 
-#if 0
-#include <boost/version.hpp>
-#include <boost/chrono/chrono.hpp>
-#include <boost/system/system_error.hpp>
-#include <boost/throw_exception.hpp>
-
-//----------------------------------------------------------------------------//
-// //
-// Platform-specific Implementations //
-// //
-//----------------------------------------------------------------------------//
-
-//----------------------------------------------------------------------------//
-// Windows //
-//----------------------------------------------------------------------------//
-#if defined(BOOST_CHRONO_WINDOWS_API)
-#include "win/chrono.cpp"
-
-//----------------------------------------------------------------------------//
-// Mac //
-//----------------------------------------------------------------------------//
-#elif defined(BOOST_CHRONO_MAC_API)
-#include "mac/chrono.cpp"
-
-//----------------------------------------------------------------------------//
-// POSIX //
-//----------------------------------------------------------------------------//
-#elif defined(BOOST_CHRONO_POSIX_API)
-#include "posix/chrono.cpp"
-
-#endif // POSIX
-#endif

Modified: sandbox/chrono/libs/chrono/src/process_cpu_clocks.cpp
==============================================================================
--- sandbox/chrono/libs/chrono/src/process_cpu_clocks.cpp (original)
+++ sandbox/chrono/libs/chrono/src/process_cpu_clocks.cpp 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -15,44 +15,3 @@
 
 #include <boost/chrono/detail/inlined/process_cpu_clocks.hpp>
 
-#if 0
-
-
-#include <boost/chrono/config.hpp>
-#include <boost/version.hpp>
-#include <boost/chrono/process_cpu_clocks.hpp>
-#include <boost/chrono/process_times.hpp>
-#include <cassert>
-
-namespace boost { namespace chrono {
-
- process_real_cpu_clock::time_point process_real_cpu_clock::now(system::error_code & ec) {
- process_times t;
- process_clock::now(t, ec);
- return process_real_cpu_clock::time_point(t.real);
- }
-
- process_user_cpu_clock::time_point process_user_cpu_clock::now(system::error_code & ec){
- process_times t;
- process_clock::now(t, ec);
- return process_user_cpu_clock::time_point(t.user);
- }
-
- process_system_cpu_clock::time_point process_system_cpu_clock::now(system::error_code & ec) {
- process_times t;
- process_clock::now(t, ec);
- return process_system_cpu_clock::time_point(t.system);
- }
-
- process_cpu_clock::time_point process_cpu_clock::now( system::error_code & ec ) {
- process_times t;
- process_clock::now(t,ec);
- time_point::rep r(t.real.count(), t.user.count(), t.system.count());
- return time_point(duration(r));
- }
-
-} // namespace chrono
-} // namespace boost
-
-
-#endif

Modified: sandbox/chrono/libs/chrono/src/thread_clock.cpp
==============================================================================
--- sandbox/chrono/libs/chrono/src/thread_clock.cpp (original)
+++ sandbox/chrono/libs/chrono/src/thread_clock.cpp 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -16,37 +16,3 @@
 
 #include <boost/chrono/detail/inlined/thread_clock.hpp>
 
-#if 0
-
-
-#include <boost/chrono/config.hpp>
-#include <boost/version.hpp>
-#if defined(BOOST_CHRONO_HAS_THREAD_CLOCK)
-#include <boost/chrono/thread_clock.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/system/system_error.hpp>
-#include <cassert>
-
-//----------------------------------------------------------------------------//
-// Windows //
-//----------------------------------------------------------------------------//
-#if defined(BOOST_CHRONO_WINDOWS_API)
-#include "win/thread_clock.cpp"
-
-//----------------------------------------------------------------------------//
-// Mac //
-//----------------------------------------------------------------------------//
-#elif defined(BOOST_CHRONO_MAC_API)
-#include "mac/thread_clock.cpp"
-
-//----------------------------------------------------------------------------//
-// POSIX //
-//----------------------------------------------------------------------------//
-#elif defined(BOOST_CHRONO_POSIX_API)
-#include "posix/thread_clock.cpp"
-
-#endif // POSIX
-
-
-#endif
-#endif

Modified: sandbox/chrono/libs/chrono/test/Jamfile.v2
==============================================================================
--- sandbox/chrono/libs/chrono/test/Jamfile.v2 (original)
+++ sandbox/chrono/libs/chrono/test/Jamfile.v2 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -1,6 +1,7 @@
 # Boost Chrono Library test Jamfile
 
-# Copyright Beman Dawes 2003, 2006, 2008
+# Copyright Beman Dawes 2008
+# Copyright Vicente J. Botet Escriba 2009-2010
 
 # Distributed under the Boost Software License, Version 1.0.
 # See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt
@@ -145,26 +146,6 @@
     ;
 }
 
-
-
- #test-suite "minmax"
- # :
- # [ chrono-compile test_minmax.cpp ]
- # ;
-
- #test-suite "chrono"
- # :
- # [ chrono-run chrono_unit_test.cpp ]
- # [ chrono-run explore_limits.cpp ]
- # [ chrono-run test_duration.cpp ]
- # [ chrono-run test_clock.cpp ]
- # [ chrono-run miscellaneous.cpp ]
- # [ chrono-run test_special_values.cpp ]
- # [ chrono-run manipulate_clock_object.cpp ]
- # [ chrono-run chrono_accuracy_test.cpp ]
- # ;
-
-
     test-suite "examples"
         :
         [ chrono-run ../example/cycle_count.cpp ]
@@ -186,17 +167,12 @@
         [ chrono-run ../example/test_thread_clock.cpp ]
         ;
 
- test-suite "timer"
- :
- [ chrono-run ../example/run_timer_example.cpp ]
- [ chrono-run ../example/run_timer_example2.cpp ]
- [ chrono-run run_timer_test.cpp ]
- ;
-
- #test-suite "other_clocks"
- # :
- # [ chrono-run test_thread_clock.cpp ]
- # ;
+# test-suite "timer"
+# :
+# [ chrono-run ../example/run_timer_example.cpp ]
+# [ chrono-run ../example/run_timer_example2.cpp ]
+# [ chrono-run run_timer_test.cpp ]
+# ;
 
     test-suite "traits"
         :
@@ -253,7 +229,6 @@
         [ chrono-run2 clock/clock_pass.cpp : clock_clock_pass_ ]
         ;
 
-
     test-suite "io"
         :
         [ chrono-run ../example/io_ex1.cpp ]
@@ -267,3 +242,9 @@
         :
         [ chrono-run win32_test.cpp ]
         ;
+
+# test-suite "static_string"
+# :
+# [ chrono-run io/match_pass.cpp ]
+# ;
+
\ No newline at end of file

Modified: sandbox/chrono/libs/chrono/test/duration/arithmetic_pass.cpp
==============================================================================
--- sandbox/chrono/libs/chrono/test/duration/arithmetic_pass.cpp (original)
+++ sandbox/chrono/libs/chrono/test/duration/arithmetic_pass.cpp 2010-12-16 01:45:26 EST (Thu, 16 Dec 2010)
@@ -3,10 +3,24 @@
 // See http://www.boost.org/LICENSE_1_0.txt
 
 #include <boost/chrono.hpp>
+#include <boost/chrono/typeof/boost/chrono/chrono.hpp>
+#include <boost/chrono/chrono_io.hpp>
+#include <iostream>
+
 #include <boost/detail/lightweight_test.hpp>
 
 int main()
 {
+
+// uint64_t const big = uint64_t(1)<<32;
+// typedef boost::chrono::duration<uint64_t, boost::ratio<1, big-1> > D1;
+// typedef boost::chrono::duration<uint64_t, boost::ratio<1, big-2> > D2;
+// D1 d1(0);
+// D2 d2(0);
+// BOOST_AUTO(d,d1+d2);
+//
+// std::cout << d << std::endl;
+
     // UNARY PLUS
     {
         const boost::chrono::minutes m(3);
@@ -33,7 +47,6 @@
         boost::chrono::hours h2 = h++;
         BOOST_TEST(h.count() == 4);
         BOOST_TEST(h2.count() == 3);
- return boost::report_errors();
     }
     // PRE DECREMENT
     {
@@ -70,7 +83,6 @@
         boost::chrono::nanoseconds ns(3);
         ns *= 5;
         BOOST_TEST(ns.count() == 15);
- return boost::report_errors();
     }
     // DIVIDE ASSIGN
     {
@@ -153,7 +165,6 @@
         BOOST_TEST(ns.count() == 15);
         ns = 6 * ns;
         BOOST_TEST(ns.count() == 90);
- return boost::report_errors();
     }
     
     // DIVIDE duration


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