Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r65510 - in sandbox/chrono/libs/chrono/doc: . html html/boost_chrono html/boost_chrono/appendices html/boost_chrono/overview html/boost_chrono/reference html/boost_chrono/users_guide
From: vicente.botet_at_[hidden]
Date: 2010-09-21 05:43:18


Author: viboes
Date: 2010-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
New Revision: 65510
URL: http://svn.boost.org/trac/boost/changeset/65510

Log:
Chrono update doc 0.6.0
Text files modified:
   sandbox/chrono/libs/chrono/doc/chrono.qbk | 434 +++++++++
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices.html | 9
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/acknowledgements.html | 2
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/faq.html | 14
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/history.html | 26
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/implementation.html | 2
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/rationale.html | 10
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tests.html | 1696 +++++++++++++++++++++++++++++++++++++++
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tickets.html | 2
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/todo.html | 15
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview.html | 6
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/description.html | 13
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/motivation.html | 2
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference.html | 6
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/cpp0x.html | 50
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/deprecated.html | 8
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/other_clocks.html | 9
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide.html | 5
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/examples.html | 134 +++
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/ext_references.html | 2
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/getting_started.html | 27
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/tutorial.html | 237 +++++
   sandbox/chrono/libs/chrono/doc/html/index.html | 9
   sandbox/chrono/libs/chrono/doc/html/standalone_HTML.manifest | 1
   24 files changed, 2585 insertions(+), 134 deletions(-)

Modified: sandbox/chrono/libs/chrono/doc/chrono.qbk
==============================================================================
--- sandbox/chrono/libs/chrono/doc/chrono.qbk (original)
+++ sandbox/chrono/libs/chrono/doc/chrono.qbk 2010-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -9,7 +9,7 @@
 
 [article Boost.Chrono
     [quickbook 1.5]
- [version 0.5.0]
+ [version 0.6.0]
     [authors [Hinnant, Howard]]
     [authors [Dawes, Beman]]
     [authors [Botet Escriba, Vicente J.]]
@@ -255,10 +255,10 @@
 # __process_user_cpu_clock__,
 # __process_system_cpu_clock__
 
-providing a
+providing a
 ]
 
-[/__Boost_Chrono__ provides
+[/__Boost_Chrono__ provides
 thin wrappers 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.
 ]
 
@@ -303,6 +303,10 @@
 
 The underlying clocks provided by operating systems are subject to many seemingly arbitrary policies and implementation irregularities. That's a polite way of saying they tend to be flakey, and each operating system or even each clock has its own cruel and unusual forms of flakiness. Don't bet the farm on their accuracy, unless you have become deeply familiar with exactly what the specific operating system is guaranteeing, which is often very little.
 
+[heading I/O]
+
+It provides I/O for `duration` and `time_point`. It builds on <boost/ratio/ratio_io.hpp> to provide readable and flexible formatting and parsing for types in <boost/chrono.hpp>. The `duration` unit names can be customized through a new facet: `duration_punct`.
+
 [endsect]
 
 [endsect]
@@ -430,6 +434,7 @@
 MinGW with
 
 * GCC 4.4.0
+* GCC 4.5.0
 
 Initial version was tested on:
 
@@ -835,6 +840,167 @@
 
 [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.
+
+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.
+
+[*Example:]
+
+ #include <iostream>
+ #include <boost/chrono/chrono_io.hpp>
+
+ int main()
+ {
+ using namespace std;
+ using namespace boost;
+ using namespace boost::chrono;
+
+ cout << "milliseconds(3) + microseconds(10) = "
+ << milliseconds(3) + microseconds(10) << '\n';
+
+ cout << "hours(3) + minutes(10) = "
+ << hours(3) + minutes(10) << '\n';
+
+ typedef duration<long long, ratio<1, 2500000000> > ClockTick;
+ cout << "ClockTick(3) + nanoseconds(10) = "
+ << ClockTick(3) + nanoseconds(10) << '\n';
+
+ cout << "\nSet cout to use short names:\n";
+ cout << duration_short;
+
+ cout << "milliseconds(3) + microseconds(10) = "
+ << milliseconds(3) + microseconds(10) << '\n';
+
+ cout << "hours(3) + minutes(10) = "
+ << hours(3) + minutes(10) << '\n';
+
+ cout << "ClockTick(3) + nanoseconds(10) = "
+ << ClockTick(3) + nanoseconds(10) << '\n';
+
+ cout << "\nsystem_clock::now() = " << system_clock::now() << '\n';
+ #ifdef BOOST_CHRONO_HAS_CLOCK_MONOTONIC
+ cout << "monotonic_clock::now() = " << monotonic_clock::now() << '\n';
+ #endif
+ cout << "\nSet cout to use long names:\n" << duration_long
+ << "high_resolution_clock::now() = " << high_resolution_clock::now() << '\n';
+ return 0;
+ }
+
+The output could be
+
+ milliseconds(3) + microseconds(10) = 3010 microseconds
+ hours(3) + minutes(10) = 190 minutes
+ ClockTick(3) + nanoseconds(10) = 56 [1/5000000000]seconds
+
+ Set cout to use short names:
+ milliseconds(3) + microseconds(10) = 3010 us
+ hours(3) + minutes(10) = 190 m
+ ClockTick(3) + nanoseconds(10) = 56 [1/5000000000]s
+
+ system_clock::now() = 1284923218301231 us since Jan 1, 1970
+ monotonic_clock::now() = 18588963676886 ns since boot
+
+ 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.
+
+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.
+
+[*Example:]
+
+#include <boost/chrono/chrono_io.hpp>
+#include <sstream>
+#include <cassert>
+
+int main()
+{
+ using namespace std;
+ using namespace boost::chrono;
+
+ istringstream in("5000 milliseconds 4000 ms 3001 ms");
+ seconds d(0);
+ in >> d;
+ assert(in.good());
+ assert(d == seconds(5));
+ in >> d;
+ assert(in.good());
+ assert(d == seconds(4));
+ in >> d;
+ assert(in.fail());
+ assert(d == seconds(4));
+
+ return 0;
+}
+
+
+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.
+
+[*Example:]
+
+ #include <boost/chrono/chrono_io.hpp>
+ #include <sstream>
+ #include <iostream>
+ #include <cassert>
+
+ int main()
+ {
+ using namespace std;
+ using namespace boost::chrono;
+
+ high_resolution_clock::time_point t0 = high_resolution_clock::now();
+ stringstream io;
+ io << t0;
+ 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();
+ cout << t << '\n';
+
+ cout << "That took " << t - t0 << '\n';
+ cout << "That took " << t - t1 << '\n';
+
+ return 0;
+ }
+
+The output could be:
+
+ 50908679121461 nanoseconds since boot
+ That took 649630 nanoseconds
+
+Here's a simple example to find out how many hours the computer has been up (on this platform):
+
+ #include <boost/chrono/chrono_io.hpp>
+ #include <iostream>
+
+ int main()
+ {
+ using namespace std;
+ using namespace boost;
+ using namespace boost::chrono;
+
+ typedef time_point<monotonic_clock, duration<double, ratio<3600> > > T;
+ T tp = monotonic_clock::now();
+ std::cout << tp << '\n';
+ return 0;
+ }
+
+The output could be:
+
+ 17.8666 hours since boot
+
+[endsect]
+
 [endsect]
 [/===============]
 [section Examples]
@@ -1027,7 +1193,7 @@
     template <long long speed>
     struct cycle_count
     {
- typedef typename boost::__ratio_multiply__<boost::__ratio__<speed>, boost::__mega>::type
+ typedef typename boost::__ratio_multiply__<boost::__ratio__<speed>, boost::__mega>::type
             frequency; // Mhz
         typedef typename boost::__ratio_divide__<boost::__ratio__<1>, frequency>::type period;
         typedef long long rep;
@@ -1374,6 +1540,7 @@
 
 The output of this program run looks like this:
 
+
 ['See the source file [@../../example/await_keystroke.cpp example/await_keystroke.cpp]]
 
 [endsect]
@@ -1423,12 +1590,108 @@
 ['See the source file [@../../example/timex.cpp example/timex.cpp]]
 
 [endsect]
+
+[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>>`.
+
+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.
+
+As an example, the function below streams arbitrary durations to arbitrary `basic_ostreams` using the format:
+
+ [-]d/hh:mm:ss.cc
+
+Where:
+
+* `d` is the number of `days`
+* `h` is the number of `hours`
+* `m` is the number of `minutes`
+* `ss.cc` is the number of `seconds` rounded to the nearest hundreth of a second
+
+ #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)
+ {
+ using namespace std;
+ using namespace boost;
+ using namespace boost::chrono;
+
+ typedef duration<long long, ratio<86400> > days;
+ typedef duration<long long, centi> centiseconds;
+
+ // if negative, print negative sign and negate
+ if (d < 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))
+ ++cs;
+ // separate seconds from centiseconds
+ seconds s = duration_cast<seconds>(cs);
+ cs -= s;
+ // separate minutes from seconds
+ minutes m = duration_cast<minutes>(s);
+ s -= m;
+ // separate hours from minutes
+ hours h = duration_cast<hours>(m);
+ m -= h;
+ // separate days from hours
+ days dy = duration_cast<days>(h);
+ h -= dy;
+ // print d/hh:mm:ss.cc
+ os << dy.count() << '/';
+ if (h < hours(10))
+ os << '0';
+ os << h.count() << ':';
+ if (m < minutes(10))
+ os << '0';
+ os << m.count() << ':';
+ if (s < seconds(10))
+ os << '0';
+ os << s.count() << '.';
+ if (cs < centiseconds(10))
+ os << '0';
+ os << cs.count();
+ return os;
+ }
+
+ int main()
+ {
+ using namespace std;
+ using namespace boost;
+ using namespace 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';
+ }
+
+The output could be:
+
+ 12/06:03:22.95
+ -0/00:00:00.01
+ 11/13:46:40.00
+ -11/13:46:40.00
+
+[endsect]
+
 [endsect]
 
 [/=======================================================]
 [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 simaulation of this interface.
 
 Free sleep functions
 
@@ -2148,7 +2411,7 @@
 
   template <class Rep1, class Period1, class Rep2, class Period2>
   typename __common_type__<__duration__<Rep1, Period1>, __duration__<Rep2, Period2> >::type
- operator%(const __duration__<Rep1, Period1>& lhs,
+ operator%(const __duration__<Rep1, Period1>& lhs,
             const __duration__<Rep2, Period2>& rhs);
 
 [*Remarks] This function will not participate in overload resolution unless
@@ -2163,7 +2426,7 @@
 [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,
+ bool operator==(const __duration__<Rep1, Period1>& lhs,
                     const __duration__<Rep2, Period2>& rhs);
 
 [*Returns:] Let `CD` represent the __common_type__ of the two __duration__ arguments. Returns `CD(lhs).count() == CD(rhs).count()`
@@ -2172,7 +2435,7 @@
 [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,
+ bool operator!=(const __duration__<Rep1, Period1>& lhs,
                     const __duration__<Rep2, Period2>& rhs);
 
 [*Returns:] `!(lhs == rhs)`.
@@ -2181,7 +2444,7 @@
 [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,
+ bool operator< (const __duration__<Rep1, Period1>& lhs,
                     const __duration__<Rep2, Period2>& rhs);
 
 [*Returns:] Let `CD` represent the __common_type__ of the two __duration__ arguments. Returns `CD(lhs).count() < CD(rhs).count()`
@@ -2190,7 +2453,7 @@
 [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,
+ bool operator<=(const __duration__<Rep1, Period1>& lhs,
                     const __duration__<Rep2, Period2>& rhs);
 
 [*Returns:] `!(rhs < lhs)`.
@@ -2199,7 +2462,7 @@
 [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,
+ bool operator> (const __duration__<Rep1, Period1>& lhs,
                     const __duration__<Rep2, Period2>& rhs);
 
 [*Returns:] `rhs < lhs`.
@@ -2208,7 +2471,7 @@
 [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,
+ bool operator>=(const __duration__<Rep1, Period1>& lhs,
                     const __duration__<Rep2, Period2>& rhs);
 
 [*Returns:] `!(lhs < rhs)`.
@@ -2323,22 +2586,22 @@
 
         // time_point comparisons
         template <class Clock, class Duration1, class Duration2>
- bool operator==(const time_point<Clock, Duration1>& lhs,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ bool operator>=(const time_point<Clock, Duration1>& lhs,
                         const time_point<Clock, Duration2>& rhs);
 
         // time_point_cast
@@ -2474,7 +2737,7 @@
 
     template <class Clock, class Duration1, class Rep2, class Period2>
     __time_point__<Clock, typename __common_type__<Duration1, duration<Rep2, Period2> >::type>
- operator+(const __time_point__<Clock, Duration1>& lhs,
+ operator+(const __time_point__<Clock, Duration1>& lhs,
               const duration<Rep2, Period2>& rhs);
 
 [*Returns:] `CT(lhs) += rhs` where `CT` is the type of the return value.
@@ -2484,7 +2747,7 @@
 
     template <class Rep1, class Period1, class Clock, class Duration2>
     __time_point__<Clock, typename __common_type__<duration<Rep1, Period1>, Duration2>::type>
- operator+(const duration<Rep1, Period1>& lhs,
+ operator+(const duration<Rep1, Period1>& lhs,
               const __time_point__<Clock, Duration2>& rhs);
 
 [*Returns:] `rhs + lhs`.
@@ -2494,7 +2757,7 @@
 
     template <class Clock, class Duration1, class Rep2, class Period2>
     __time_point__<Clock, typename __common_type__<Duration1, duration<Rep2, Period2> >::type>
- operator-(const __time_point__<Clock, Duration1>& lhs,
+ operator-(const __time_point__<Clock, Duration1>& lhs,
               const duration<Rep2, Period2>& rhs);
 
 [*Returns:] `lhs + (-rhs)`.
@@ -2504,7 +2767,7 @@
 
     template <class Clock, class Duration1, class Duration2>
     typename __common_type__<Duration1, Duration2>::type
- operator-(const __time_point__<Clock, Duration1>& lhs,
+ operator-(const __time_point__<Clock, Duration1>& lhs,
               const __time_point__<Clock, Duration2>& rhs);
 
 [*Returns:] `lhs.time_since_epoch() - rhs.time_since_epoch()`.
@@ -2516,7 +2779,7 @@
 [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,
+ bool operator==(const __time_point__<Clock, Duration1>& lhs,
                     const __time_point__<Clock, Duration2>& rhs);
 
 [*Returns:] `lhs.time_since_epoch() == rhs.time_since_epoch()`.
@@ -2525,7 +2788,7 @@
 [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,
+ bool operator!=(const __time_point__<Clock, Duration1>& lhs,
                    const __time_point__<Clock, Duration2>& rhs);
 
 [*Returns:] `!(lhs == rhs)`.
@@ -2534,7 +2797,7 @@
 [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,
+ bool operator< (const __time_point__<Clock, Duration1>& lhs,
                     const __time_point__<Clock, Duration2>& rhs);
 
 [*Returns:] lhs.time_since_epoch() < rhs.time_since_epoch().
@@ -2543,7 +2806,7 @@
 [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,
+ bool operator<=(const __time_point__<Clock, Duration1>& lhs,
                     const __time_point__<Clock, Duration2>& rhs);
 
 [*Returns:] `!(rhs < lhs)`.
@@ -2552,7 +2815,7 @@
 [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,
+ bool operator>(const __time_point__<Clock, Duration1>& lhs,
                   const __time_point__<Clock, Duration2>& rhs);
 
 [*Returns:] `rhs < lhs`.
@@ -2561,7 +2824,7 @@
 [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,
+ bool operator>=(const __time_point__<Clock, Duration1>& lhs,
                     const __time_point__<Clock, Duration2>& rhs);
 
 [*Returns:] `!(lhs < rhs)`.
@@ -2692,6 +2955,98 @@
 [endsect]
 [endsect]
 
+[section:io Chrono I/O]
+[/==================================================================]
+[section:chrono_io_hpp Header `<boost/chrono/chrono_io.hpp>`]
+[/==================================================================]
+
+This source has been adapted from the experimental header `<chrono_io>` from Howard Hinnant. The current implementation makes use of a few utilities in libc++ as `__scan_keyword` which has also been ported and seen as implementation details. Porting to Boost has been trivial.
+
+
+ namespace boost {
+ namespace chrono {
+
+ template <class CharT>
+ class duration_punct;
+
+ template <class CharT, class Traits>
+ std::basic_ostream<CharT, Traits>&
+ duration_short(std::basic_ostream<CharT, Traits>& os);
+
+ template <class CharT, class Traits>
+ std::basic_ostream<CharT, Traits>&
+ duration_long(std::basic_ostream<CharT, Traits>& os);
+
+ template <class CharT, class Traits, class Rep, class Period>
+ std::basic_ostream<CharT, Traits>&
+ operator<<(std::basic_ostream<CharT, Traits>& os, const duration<Rep, Period>& d);
+
+ template <class CharT, class Traits, class Rep, class Period>
+ std::basic_istream<CharT, Traits>&
+ operator>>(std::basic_istream<CharT, Traits>& is, duration<Rep, Period>& d)
+
+ #ifdef BOOST_CHRONO_HAS_CLOCK_MONOTONIC
+ template <class CharT, class Traits, class Duration>
+ std::basic_ostream<CharT, Traits>&
+ operator<<(std::basic_ostream<CharT, Traits>& os,
+ const time_point<monotonic_clock, Duration>& tp);
+
+ template <class CharT, class Traits, class Duration>
+ std::basic_istream<CharT, Traits>&
+ operator>>(std::basic_istream<CharT, Traits>& is,
+ time_point<monotonic_clock, Duration>& tp);
+ #endif
+
+ template <class CharT, class Traits, class Duration>
+ std::basic_ostream<CharT, Traits>&
+ operator<<(std::basic_ostream<CharT, Traits>& os,
+ const time_point<system_clock, Duration>& tp);
+
+ template <class CharT, class Traits, class Duration>
+ std::basic_istream<CharT, Traits>&
+ operator>>(std::basic_istream<CharT, Traits>& is,
+ time_point<system_clock, Duration>& tp);
+
+ } // chrono
+
+ }
+
+[section:duration_punct Template class `duration_punct<>`]
+
+ template <class CharT>
+ class duration_punct
+ : public std::locale::facet
+ {
+ public:
+ typedef std::basic_string<CharT> string_type;
+ enum {use_long, use_short};
+
+ static std::locale::id id;
+
+ explicit duration_punct(int use = use_long);
+
+ duration_punct(int use,
+ const string_type& long_seconds, const string_type& long_minutes,
+ const string_type& long_hours, const string_type& short_seconds,
+ const string_type& short_minutes, const string_type& short_hours);
+
+ duration_punct(int use, const duration_punct& d);
+
+ template <class Period> string_type short_name() const;
+ template <class Period> string_type long_name() const;
+ template <class Period> string_type name() const;
+
+ bool is_short_name() const;
+ bool is_long_name() const;
+ };
+
+[endsect]
+
+
+
+[endsect]
+[endsect]
+
 [section:other_clocks Other clocks]
 
 [/==================================================================]
@@ -2943,13 +3298,13 @@
 
 [section:timer_typedefs `timer` useful typedefs]
 
- typedef boost::chrono::timer< boost::chrono::system_clock >
+ typedef boost::chrono::timer< boost::chrono::system_clock >
             system_timer;
         #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef boost::chrono::timer< boost::chrono::monotonic_clock >
+ typedef boost::chrono::timer< boost::chrono::monotonic_clock >
             monotonic_timer;
         #endif
- typedef boost::chrono::timer< boost::chrono::high_resolution_clock >
+ typedef boost::chrono::timer< boost::chrono::high_resolution_clock >
             high_resolution_timer;
 
 [/
@@ -3110,7 +3465,11 @@
 [section:history Appendix A: History]
 [/==================================]
 
-[section [*Version 0.5.1, September 20, 2010] ]
+[section [*Version 0.6.0, September 20, 2010] ]
+
+[*Features:]
+
+* Added experimental chrono_io.
 
 [*Fixes:]
 
@@ -3627,7 +3986,7 @@
     [[positive.fail] [compile-fail] [check .] [Pass] [#]]
     [[defaul_ratio.pass] [run] [check .] [Pass] [#]]
     [[types.pass] [run] [check .] [Pass] [#]]
-
+
     [[arithmetic.op_divide_ass.pass] [run] [check .] [Pass] [#]]
     [[arithmetic.op_minusminusint.pass] [run] [check .] [Pass] [#]]
     [[arithmetic.op_plus_ass.pass] [run] [check .] [Pass] [#]]
@@ -3640,7 +3999,7 @@
     [[arithmetic.op_minusminus.pass] [run] [check .] [Pass] [#]]
     [[arithmetic.op_plus.pass] [run] [check .] [Pass] [#]]
     [[arithmetic.op_times_ass.pass] [run] [check .] [Pass] [#]]
-
+
     [[cast.duration_cast.pass] [run] [check .] [Pass] [#]]
     [[cast.toduration.fail] [compile-fail] [check .] [Pass] [#]]
     [[comparisons.op_equal.pass] [run] [check .] [Pass] [#]]
@@ -3709,10 +4068,10 @@
     [[7] [min/max macros intrussion] [Take care of Boost min/max recommendations] [Closed]]
     [[8] [declaration of 'typedef class boost::chrono::duration<..> changes meaning of 'duration'] [complete qualification when defining nested typedef duration on clocks to avoid the following compile error:] [Closed]]
     [[9] [VC++ warnings] [disable VC++ foolishness] [Closed]]
-]
+]
 [table
     [[Ticket] [Description] [Resolution] [State]]
-
+
     [[10] [conversion warning in test_duration] [removal of conversion warning in test_duration] [Closed]]
     [[11] [MSVC reports a warning instead of an error when there is an integral constant overflow] [manage with MSVC reporting a warning instead of an error when there is an integral constant overflow] [Closed]]
     [[12] [ambiguities with MSVC when using detail:: namespace] [Qualify with boost::detail boost::chrono::detail ] [Closed]]
@@ -3724,7 +4083,7 @@
     [[18] [warnings on mingw-gcc.4.4:
 
 ..\..\../boost/chrono/chrono.hpp: In copy constructor 'boost::chrono::time_point<boost::chrono::process_cpu_clock,
-boost::chrono::duration<boost::chrono::process_cpu_clock::times, boost::ratio<1ll, 1000000000ll> >
+boost::chrono::duration<boost::chrono::process_cpu_clock::times, boost::ratio<1ll, 1000000000ll> >
>::time_point(const boost::chrono::time_point<boost::chrono::process_cpu_clock,
 boost::chrono::duration<boost::chrono::process_cpu_clock::times, boost::ratio<1ll, 1000000000ll> > >&)':
 ..\..\../boost/chrono/chrono.hpp:816: warning: suggest parentheses around '&&' within '||'
@@ -3762,7 +4121,6 @@
 [heading For later releases]
 
 * Use of C++0x feature constexpr, when available.
-* Define a C++98 variadic template emmulation of __common_type__
 
 [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-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -4,8 +4,8 @@
 <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.5.0">
-<link rel="up" href="../index.html" title="Boost.Chrono 0.5.0">
+<link rel="start" href="../index.html" title="Boost.Chrono 0.6.0">
+<link rel="up" href="../index.html" title="Boost.Chrono 0.6.0">
 <link rel="prev" href="reference/deprecated.html" title=" Deprecated Headers">
 <link rel="next" href="appendices/history.html" title=" Appendix A: History">
 </head>
@@ -29,6 +29,7 @@
 <div class="toc"><dl>
 <dt><span class="section"> Appendix A: History</span></dt>
 <dd><dl>
+<dt><span class="section">Version 0.6.0, September 20, 2010 </span></dt>
 <dt><span class="section">Version 0.5.0, September 10, 2010 </span></dt>
 <dt><span class="section">Version 0.4.7, September 1, 2010 </span></dt>
 <dt><span class="section">Version 0.4.6, August 28, 2010 </span></dt>
@@ -64,7 +65,11 @@
 <dt><span class="section"> Appendix F: Tests</span></dt>
 <dd><dl>
 <dt><span class="section">chrono</span></dt>
+<dt><span class="section">examples</span></dt>
 <dt><span class="section">Other Clocks</span></dt>
+<dt><span class="section"> Duration Typedef's</span></dt>
+<dt><span class="section">traits</span></dt>
+<dt><span class="section">duration</span></dt>
 </dl></dd>
 <dt><span class="section"> Appendix G: Tickets</span></dt>
 <dt><span class="section"> Appendix H: Future plans</span></dt>

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-09-21 05:43:11 EDT (Tue, 21 Sep 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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <link rel="up" href="../appendices.html" title="Appendices">
 <link rel="prev" href="faq.html" title=" Appendix D: FAQ">
 <link rel="next" href="tests.html" title=" Appendix F: Tests">

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-09-21 05:43:11 EDT (Tue, 21 Sep 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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <link rel="up" href="../appendices.html" title="Appendices">
 <link rel="prev" href="implementation.html" title=" Appendix C:
       Implementation Notes">
@@ -29,7 +29,7 @@
 <a name="boost_chrono.appendices.faq"></a> Appendix D: FAQ
 </h3></div></div></div>
 <a name="boost_chrono.appendices.faq.how_important_is_the_order_of_the___code__phrase_role__identifier__common_type__phrase___code__lt__gt__template_arguments_"></a><h4>
-<a name="id5063682"></a>
+<a name="id5072206"></a>
         <a href="faq.html#boost_chrono.appendices.faq.how_important_is_the_order_of_the___code__phrase_role__identifier__common_type__phrase___code__lt__gt__template_arguments_">How
         important is the order of the <code class="computeroutput"><span class="identifier">common_type</span></code>&lt;&gt;
         template arguments?</a>
@@ -62,7 +62,7 @@
         is also undefined.
       </p>
 <a name="boost_chrono.appendices.faq.why_does_stopwatch_reporter_only_display_millisecond_place_precision_when_the_underlying_clock_has_nanosecond_precision_"></a><h4>
-<a name="id5064180"></a>
+<a name="id5072704"></a>
         <a href="faq.html#boost_chrono.appendices.faq.why_does_stopwatch_reporter_only_display_millisecond_place_precision_when_the_underlying_clock_has_nanosecond_precision_">Why
         does stopwatch_reporter only display millisecond place precision when the
         underlying Clock has nanosecond precision?</a>
@@ -73,7 +73,7 @@
         dangerously.
       </p>
 <a name="boost_chrono.appendices.faq.why_does_stopwatch_reporter_sometimes_report_more_cpu_seconds_than_real_seconds_"></a><h4>
-<a name="id5064219"></a>
+<a name="id5072744"></a>
         <a href="faq.html#boost_chrono.appendices.faq.why_does_stopwatch_reporter_sometimes_report_more_cpu_seconds_than_real_seconds_">Why
         does stopwatch_reporter sometimes report more cpu seconds than real seconds?</a>
       </h4>
@@ -83,7 +83,7 @@
         be reporting at times.
       </p>
 <a name="boost_chrono.appendices.faq.can_i_obtain_statistics_of_the_time_elapsed_between_calls_to_a_function_"></a><h4>
-<a name="id5064252"></a>
+<a name="id5072776"></a>
         <a href="faq.html#boost_chrono.appendices.faq.can_i_obtain_statistics_of_the_time_elapsed_between_calls_to_a_function_">Can
         I obtain statistics of the time elapsed between calls to a function?</a>
       </h4>
@@ -91,13 +91,13 @@
         The library do not provides this feature.
       </p>
 <a name="boost_chrono.appendices.faq.what_happens_if_i_press_ctrl_c_and_program_terminates__what_log_would_boost_chrono_output_"></a><h4>
-<a name="id5064280"></a>
+<a name="id5072804"></a>
         <a href="faq.html#boost_chrono.appendices.faq.what_happens_if_i_press_ctrl_c_and_program_terminates__what_log_would_boost_chrono_output_">What
         happens if I press Ctrl+C and program terminates? What log would Boost.chrono
         output?</a>
       </h4>
 <a name="boost_chrono.appendices.faq.can_you_explain_the_pros_cons_of___code__phrase_role__identifier__common_type__phrase___code__against_boost_typeof_"></a><h4>
-<a name="id5064308"></a>
+<a name="id5072832"></a>
         <a href="faq.html#boost_chrono.appendices.faq.can_you_explain_the_pros_cons_of___code__phrase_role__identifier__common_type__phrase___code__against_boost_typeof_">Can
         you explain the pros/cons of <code class="computeroutput"><span class="identifier">common_type</span></code>
         against Boost.Typeof?</a>

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-09-21 05:43:11 EDT (Tue, 21 Sep 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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <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">
@@ -27,6 +27,7 @@
 <a name="boost_chrono.appendices.history"></a> Appendix A: History
 </h3></div></div></div>
 <div class="toc"><dl>
+<dt><span class="section">Version 0.6.0, September 20, 2010 </span></dt>
 <dt><span class="section">Version 0.5.0, September 10, 2010 </span></dt>
 <dt><span class="section">Version 0.4.7, September 1, 2010 </span></dt>
 <dt><span class="section">Version 0.4.6, August 28, 2010 </span></dt>
@@ -55,6 +56,29 @@
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.appendices.history.__version_0_6_0__september_20__2010__"></a>Version 0.6.0, September 20, 2010
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ Added experimental chrono_io.
+ </li></ul></div>
+<p>
+ <span class="bold"><strong>Fixes:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ Fix duration values min implementation.
+ </li></ul></div>
+<p>
+ <span class="bold"><strong>Test:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ Adapted test from libc++/chrono
+ </li></ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
 <a name="boost_chrono.appendices.history.__version_0_5_0__september_10__2010__"></a>Version 0.5.0, September 10, 2010
 </h4></div></div></div>
 <p>

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-09-21 05:43:11 EDT (Tue, 21 Sep 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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <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">

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-09-21 05:43:11 EDT (Tue, 21 Sep 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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <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:
@@ -33,7 +33,7 @@
         are an extract from this document.
       </p>
 <a name="boost_chrono.appendices.rationale.is_it_possible_for_the_user_to_pass_a___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="id5062378"></a>
+<a name="id5070902"></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
@@ -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="id5062476"></a>
+<a name="id5071000"></a>
         <a href="rationale.html#boost_chrono.appendices.rationale.why_duration_needs_operator_">Why
         duration needs operator%</a>
       </h4>
@@ -74,7 +74,7 @@
 <span class="special">};</span>
 </pre>
 <a name="boost_chrono.appendices.rationale.why_ratio_needs_copyconstruction_and_assignment_from_ratios_having_the_same_normalized_form"></a><h4>
-<a name="id5063057"></a>
+<a name="id5071581"></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>
@@ -102,7 +102,7 @@
         and the compilation succeeds.
       </p>
 <a name="boost_chrono.appendices.rationale.why_ratio_needs_the_nested_normalizer_typedef_type"></a><h4>
-<a name="id5063426"></a>
+<a name="id5071950"></a>
         <a href="rationale.html#boost_chrono.appendices.rationale.why_ratio_needs_the_nested_normalizer_typedef_type">Why
         ratio needs the nested normalizer typedef type</a>
       </h4>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tests.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tests.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tests.html 2010-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -4,7 +4,7 @@
 <title> Appendix F: Tests</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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <link rel="up" href="../appendices.html" title="Appendices">
 <link rel="prev" href="acknowledgements.html" title=" Appendix E:
       Acknowledgements">
@@ -29,7 +29,11 @@
 </h3></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section">chrono</span></dt>
+<dt><span class="section">examples</span></dt>
 <dt><span class="section">Other Clocks</span></dt>
+<dt><span class="section"> Duration Typedef's</span></dt>
+<dt><span class="section">traits</span></dt>
+<dt><span class="section">duration</span></dt>
 </dl></div>
 <p>
         In order to test you need to do.
@@ -298,6 +302,49 @@
                   </p>
                 </td>
 </tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.appendices.tests.examples"></a>examples
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ kind
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Result
+ </p>
+ </th>
+<th>
+ <p>
+ Ticket
+ </p>
+ </th>
+</tr></thead>
+<tbody>
 <tr>
 <td>
                   <p>
@@ -556,11 +603,79 @@
                   </p>
                 </th>
 </tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ test_thread_clock
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ test basic uses of thread_clock.
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.appendices.tests.typedefs"></a> Duration Typedef's
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ kind
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Result
+ </p>
+ </th>
+<th>
+ <p>
+ Ticket
+ </p>
+ </th>
+</tr></thead>
 <tbody>
 <tr>
 <td>
                   <p>
- test_suspendible_clock
+ hours.pass
                   </p>
                 </td>
 <td>
@@ -570,7 +685,7 @@
                 </td>
 <td>
                   <p>
- test basic uses of suspendible_clock.
+ check how many hours we can count.
                   </p>
                 </td>
 <td>
@@ -587,7 +702,7 @@
 <tr>
 <td>
                   <p>
- test_thread_clock
+ minutes.pass
                   </p>
                 </td>
 <td>
@@ -597,7 +712,1578 @@
                 </td>
 <td>
                   <p>
- test basic uses of thread_clock.
+ check how many minutes we can count.
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ seconds.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check how many seconds we can count.
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ milliseconds.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check how many milliseconds we can count.
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ microseconds.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check how many microseconds we can count.
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ nanoseconds.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check how many nanoseconds we can count.
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.appendices.tests.traits"></a>traits
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ kind
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Result
+ </p>
+ </th>
+<th>
+ <p>
+ Ticket
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ specialization.duration.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check the correct specialization has been done for duration.
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ specialization.time_point.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check the correct specialization has been done for time_point.
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ is_fp.treat_as_floating_point.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ duration_values.max.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ duration_values.min.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ duration_values.zero.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.appendices.tests.duration"></a>duration
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ kind
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Result
+ </p>
+ </th>
+<th>
+ <p>
+ Ticket
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ duration.fail
+ </p>
+ </td>
+<td>
+ <p>
+ compile-fail
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ratio.fail
+ </p>
+ </td>
+<td>
+ <p>
+ compile-fail
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ positive.fail
+ </p>
+ </td>
+<td>
+ <p>
+ compile-fail
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ defaul_ratio.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ types.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ arithmetic.op_divide_ass.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ arithmetic.op_minusminusint.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ arithmetic.op_plus_ass.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ arithmetic.op_minus.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ arithmetic.op_mod_ass_duration.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ arithmetic.op_plusplus.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ arithmetic.op_minus_ass.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ arithmetic.op_mod_ass_rep.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ arithmetic.op_plusplusint.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ arithmetic.op_minusminus.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ arithmetic.op_plus.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ arithmetic.op_times_ass.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cast.duration_cast.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cast.toduration.fail
+ </p>
+ </td>
+<td>
+ <p>
+ compile-fail
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ comparisons.op_equal.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ comparisons.op_less.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cons.convert_exact.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cons.convert_float_to_int.fail
+ </p>
+ </td>
+<td>
+ <p>
+ compile-fail
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cons.convert_inexact.fail
+ </p>
+ </td>
+<td>
+ <p>
+ compile-fail
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cons.convert_inexact.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cons.convert_int_to_float.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cons.default.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cons.rep.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cons.rep01.fail
+ </p>
+ </td>
+<td>
+ <p>
+ compile-fail
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cons.rep02.fail
+ </p>
+ </td>
+<td>
+ <p>
+ compile-fail
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cons.rep02.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cons.rep03.fail
+ </p>
+ </td>
+<td>
+ <p>
+ compile-fail
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ nonmember.op_plus.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ nonmember.op_minus.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ nonmember.op_divide_duration.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ nonmember.op_divide_rep.fail
+ </p>
+ </td>
+<td>
+ <p>
+ compile-fail
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ nonmember.op_divide_rep.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ nonmember.op_mod_duration.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ nonmember.op_mod_rep.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ nonmember.op_times_rep.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ nonmember.op_times_rep1.fail
+ </p>
+ </td>
+<td>
+ <p>
+ compile-fail
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ nonmember.op_times_rep2.fail
+ </p>
+ </td>
+<td>
+ <p>
+ compile-fail
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ special.max.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ special.min.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ special.zero.pass
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check .
                   </p>
                 </td>
 <td>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tickets.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tickets.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tickets.html 2010-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -4,7 +4,7 @@
 <title> Appendix G: Tickets</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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <link rel="up" href="../appendices.html" title="Appendices">
 <link rel="prev" href="tests.html" title=" Appendix F: Tests">
 <link rel="next" href="todo.html" title=" Appendix H: Future plans">

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-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -4,7 +4,7 @@
 <title> Appendix H: 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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <link rel="up" href="../appendices.html" title="Appendices">
 <link rel="prev" href="tickets.html" title=" Appendix G: Tickets">
 </head>
@@ -26,7 +26,7 @@
 <a name="boost_chrono.appendices.todo"></a> Appendix H: Future plans
 </h3></div></div></div>
 <a name="boost_chrono.appendices.todo.tasks_to_do_before_review"></a><h4>
-<a name="id5066565"></a>
+<a name="id5077627"></a>
         <a href="todo.html#boost_chrono.appendices.todo.tasks_to_do_before_review">Tasks
         to do before review</a>
       </h4>
@@ -42,18 +42,13 @@
           </li>
 </ul></div>
 <a name="boost_chrono.appendices.todo.for_later_releases"></a><h4>
-<a name="id5066614"></a>
+<a name="id5077676"></a>
         <a href="todo.html#boost_chrono.appendices.todo.for_later_releases">For later
         releases</a>
       </h4>
-<div class="itemizedlist"><ul type="disc">
-<li>
+<div class="itemizedlist"><ul type="disc"><li>
             Use of C++0x feature constexpr, when available.
- </li>
-<li>
- Define a C++98 variadic template emmulation of <code class="computeroutput"><span class="identifier">common_type</span></code>
- </li>
-</ul></div>
+ </li></ul></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/overview.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview.html 2010-09-21 05:43:11 EDT (Tue, 21 Sep 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.5.0">
-<link rel="up" href="../index.html" title="Boost.Chrono 0.5.0">
-<link rel="prev" href="../index.html" title="Boost.Chrono 0.5.0">
+<link rel="start" href="../index.html" title="Boost.Chrono 0.6.0">
+<link rel="up" href="../index.html" title="Boost.Chrono 0.6.0">
+<link rel="prev" href="../index.html" title="Boost.Chrono 0.6.0">
 <link rel="next" href="overview/motivation.html" title="Motivation">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">

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-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -4,7 +4,7 @@
 <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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <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">
@@ -114,6 +114,17 @@
         on their accuracy, unless you have become deeply familiar with exactly what
         the specific operating system is guaranteeing, which is often very little.
       </p>
+<a name="boost_chrono.overview.description.i_o"></a><h4>
+<a name="id4949465"></a>
+ I/O
+ </h4>
+<p>
+ It provides I/O for <code class="computeroutput"><span class="identifier">duration</span></code>
+ and <code class="computeroutput"><span class="identifier">time_point</span></code>. It builds
+ on &lt;boost/ratio/ratio_io.hpp&gt; to provide readable and flexible formatting
+ and parsing for types in &lt;boost/chrono.hpp&gt;. The <code class="computeroutput"><span class="identifier">duration</span></code>
+ unit names can be customized through a new facet: <code class="computeroutput"><span class="identifier">duration_punct</span></code>.
+ </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/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-09-21 05:43:11 EDT (Tue, 21 Sep 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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <link rel="up" href="../overview.html" title="Overview">
 <link rel="prev" href="../overview.html" title="Overview">
 <link rel="next" href="description.html" title="Description">

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-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -4,8 +4,8 @@
 <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.5.0">
-<link rel="up" href="../index.html" title="Boost.Chrono 0.5.0">
+<link rel="start" href="../index.html" title="Boost.Chrono 0.6.0">
+<link rel="up" href="../index.html" title="Boost.Chrono 0.6.0">
 <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">
@@ -42,6 +42,8 @@
 <dt><span class="section"><a href="reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_typeof_hpp"> Header
         <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">typeof</span><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">chrono</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"> 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>
 <dd><dl>
 <dt><span class="section"><a href="reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp">

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-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -5,10 +5,10 @@
       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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <link rel="up" href="../reference.html" title=" Reference ">
 <link rel="prev" href="../reference.html" title=" Reference ">
-<link rel="next" href="other_clocks.html" title=" Other clocks">
+<link rel="next" href="io.html" title=" Chrono I/O">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -21,7 +21,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../reference.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="other_clocks.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../reference.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="io.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">
@@ -1160,7 +1160,7 @@
           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>
+ 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>
@@ -1199,7 +1199,7 @@
 </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>
+ 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>
@@ -1220,7 +1220,7 @@
 </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>
+ 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>
@@ -1237,7 +1237,7 @@
 </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>
+ 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>
@@ -1258,7 +1258,7 @@
 </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>
+ 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>
@@ -1275,7 +1275,7 @@
 </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>
+ 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>
@@ -1292,7 +1292,7 @@
 </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>
+ 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>
@@ -1643,22 +1643,22 @@
 
     <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="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="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="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="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="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="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
@@ -1911,7 +1911,7 @@
  <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="
- 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>
+ 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>
 <p>
@@ -1928,7 +1928,7 @@
 <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="
           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">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="
           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>
@@ -1947,7 +1947,7 @@
  <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="
- 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>
+ 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>
 <p>
@@ -1964,7 +1964,7 @@
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="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="
- 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>
+ 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="
           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>
@@ -1999,7 +1999,7 @@
 </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="
- 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>
+ 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="
           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>
@@ -2034,7 +2034,7 @@
 </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="
- 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>
+ 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="
           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>
@@ -2051,7 +2051,7 @@
 </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="
- 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>
+ 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="
           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>
@@ -2087,7 +2087,7 @@
 </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="
- 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>
+ 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="
           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>
@@ -2317,7 +2317,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../reference.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="other_clocks.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../reference.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="io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

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-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -4,7 +4,7 @@
 <title> Deprecated Headers</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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <link rel="up" href="../reference.html" title=" Reference ">
 <link rel="prev" href="other_clocks.html" title=" Other clocks">
 <link rel="next" href="../appendices.html" title="Appendices">
@@ -117,14 +117,14 @@
           timer useful typedefs">
           <code class="computeroutput"><span class="identifier">timer</span></code> useful typedefs</a>
 </h5></div></div></div>
-<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><span class="identifier">timer</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">system_clock</span> <span class="special">&gt;</span>
+<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><span class="identifier">timer</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">system_clock</span> <span class="special">&gt;</span>
     <span class="identifier">system_timer</span><span class="special">;</span>
 <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">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">timer</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">monotonic_clock</span> <span class="special">&gt;</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">timer</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">monotonic_clock</span> <span class="special">&gt;</span>
     <span class="identifier">monotonic_timer</span><span class="special">;</span>
 <span class="preprocessor">#endif</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">timer</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">high_resolution_clock</span> <span class="special">&gt;</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">timer</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">high_resolution_clock</span> <span class="special">&gt;</span>
     <span class="identifier">high_resolution_timer</span><span class="special">;</span>
 </pre>
 </div>

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-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -4,10 +4,9 @@
 <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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <link rel="up" href="../reference.html" title=" Reference ">
-<link rel="prev" href="cpp0x.html" title=" Included on the C++0x
- recommendation">
+<link rel="prev" href="io.html" title=" Chrono I/O">
 <link rel="next" href="deprecated.html" title=" Deprecated Headers">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -21,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="cpp0x.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="deprecated.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">
@@ -360,7 +359,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="cpp0x.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="deprecated.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-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -4,8 +4,8 @@
 <title> Users'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.5.0">
-<link rel="up" href="../index.html" title="Boost.Chrono 0.5.0">
+<link rel="start" href="../index.html" title="Boost.Chrono 0.6.0">
+<link rel="up" href="../index.html" title="Boost.Chrono 0.6.0">
 <link rel="prev" href="overview/description.html" title="Description">
 <link rel="next" href="users_guide/getting_started.html" title=" Getting Started">
 </head>
@@ -40,6 +40,7 @@
 <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">I/O</span></dt>
 </dl></dd>
 <dt><span class="section">Examples</span></dt>
 <dd><dl>

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-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -4,7 +4,7 @@
 <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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <link rel="up" href="../users_guide.html" title=" Users'Guide">
 <link rel="prev" href="tutorial.html" title="Tutorial">
 <link rel="next" href="ext_references.html" title=" External Resources">
@@ -53,6 +53,8 @@
           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.time_command">time
           command</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></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>
@@ -307,7 +309,7 @@
 <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>
@@ -615,6 +617,8 @@
           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.time_command">time
           command</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">
@@ -760,6 +764,132 @@
             <span class="emphasis"><em>See the source file example/timex.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.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>
+</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.
+ </p>
+<p>
+ As an example, the function below streams arbitrary durations to arbitrary
+ <code class="computeroutput"><span class="identifier">basic_ostreams</span></code> using
+ the format:
+ </p>
+<pre class="programlisting"><span class="special">[-]</span><span class="identifier">d</span><span class="special">/</span><span class="identifier">hh</span><span class="special">:</span><span class="identifier">mm</span><span class="special">:</span><span class="identifier">ss</span><span class="special">.</span><span class="identifier">cc</span>
+</pre>
+<p>
+ Where:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ <code class="computeroutput"><span class="identifier">d</span></code> is the number of
+ <code class="computeroutput"><span class="identifier">days</span></code>
+ </li>
+<li>
+ <code class="computeroutput"><span class="identifier">h</span></code> is the number of
+ <code class="computeroutput"><span class="identifier">hours</span></code>
+ </li>
+<li>
+ <code class="computeroutput"><span class="identifier">m</span></code> is the number of
+ <code class="computeroutput"><span class="identifier">minutes</span></code>
+ </li>
+<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>
+ </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>
+
+ <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 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 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 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 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 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 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="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="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="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="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>
+<span class="special">}</span>
+
+<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="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">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="special">}</span>
+</pre>
+<p>
+ The output could be:
+ </p>
+<pre class="programlisting"><span class="number">12</span><span class="special">/</span><span class="number">06</span><span class="special">:</span><span class="number">03</span><span class="special">:</span><span class="number">22.95</span>
+<span class="special">-</span><span class="number">0</span><span class="special">/</span><span class="number">00</span><span class="special">:</span><span class="number">00</span><span class="special">:</span><span class="number">00</span><span class="special">.</span><span class="number">01</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>
+<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">

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-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -4,7 +4,7 @@
 <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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <link rel="up" href="../users_guide.html" title=" Users'Guide">
 <link rel="prev" href="examples.html" title="Examples">
 <link rel="next" href="../reference.html" title=" Reference ">

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-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -4,7 +4,7 @@
 <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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <link rel="up" href="../users_guide.html" title=" Users'Guide">
 <link rel="prev" href="../users_guide.html" title=" Users'Guide">
 <link rel="next" href="tutorial.html" title="Tutorial">
@@ -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="id4949512"></a>
+<a name="id4949580"></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>
@@ -54,7 +54,7 @@
           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="id4949583"></a>
+<a name="id4949652"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.where_to_install__emphasis_role__bold__boost_chrono__emphasis___">Where
           to install <span class="bold"><strong>Boost.Chrono</strong></span>? </a>
         </h5>
@@ -70,7 +70,7 @@
           variable. Any help is welcome.
         </p>
 <a name="boost_chrono.users_guide.getting_started.install.building__emphasis_role__bold__boost_chrono__emphasis__"></a><h5>
-<a name="id4949625"></a>
+<a name="id4949694"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.building__emphasis_role__bold__boost_chrono__emphasis__">Building
           <span class="bold"><strong>Boost.Chrono</strong></span> </a>
         </h5>
@@ -81,7 +81,7 @@
 <pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">libs</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">build</span>
 </pre>
 <a name="boost_chrono.users_guide.getting_started.install.requirements"></a><h5>
-<a name="id4949697"></a>
+<a name="id4949765"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.requirements">Requirements</a>
         </h5>
 <p>
@@ -134,7 +134,7 @@
 </dl>
 </div>
 <a name="boost_chrono.users_guide.getting_started.install.building_an_executable_that_uses__emphasis_role__bold__boost_chrono__emphasis__"></a><h5>
-<a name="id4942134"></a>
+<a name="id4942202"></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>
@@ -144,7 +144,7 @@
           with the Boost.System library.
         </p>
 <a name="boost_chrono.users_guide.getting_started.install.exceptions_safety_"></a><h5>
-<a name="id4942168"></a>
+<a name="id4942237"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.exceptions_safety_">Exceptions
           safety </a>
         </h5>
@@ -153,7 +153,7 @@
           of exception safety as long as the underlying parameters provide it.
         </p>
 <a name="boost_chrono.users_guide.getting_started.install.thread_safety_"></a><h5>
-<a name="id4942196"></a>
+<a name="id4942265"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.thread_safety_">Thread
           safety </a>
         </h5>
@@ -161,7 +161,7 @@
           All functions in the library are thread-unsafe except when noted explicitly.
         </p>
 <a name="boost_chrono.users_guide.getting_started.install.tested_compilers_"></a><h5>
-<a name="id4942221"></a>
+<a name="id4942290"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.tested_compilers_">Tested
           compilers </a>
         </h5>
@@ -203,9 +203,14 @@
 <p>
           MinGW with
         </p>
-<div class="itemizedlist"><ul type="disc"><li>
+<div class="itemizedlist"><ul type="disc">
+<li>
               GCC 4.4.0
- </li></ul></div>
+ </li>
+<li>
+ GCC 4.5.0
+ </li>
+</ul></div>
 <p>
           Initial version was tested on:
         </p>

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-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -4,7 +4,7 @@
 <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.5.0">
+<link rel="start" href="../../index.html" title="Boost.Chrono 0.6.0">
 <link rel="up" href="../users_guide.html" title=" Users'Guide">
 <link rel="prev" href="getting_started.html" title=" Getting Started">
 <link rel="next" href="examples.html" title="Examples">
@@ -58,6 +58,7 @@
           to get the actual CPU milliseconds (or other units?) used by the current
           thread between end and start?</a></span></dt>
 </dl></dd>
+<dt><span class="section">I/O</span></dt>
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
@@ -291,7 +292,7 @@
             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="id4997417"></a>
+<a name="id4997493"></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>
@@ -830,6 +831,238 @@
 </pre>
 </div>
 </div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.users_guide.tutorial.i_o"></a>I/O
+</h4></div></div></div>
+<p>
+ Any <code class="computeroutput"><span class="identifier">duration</span></code> can be streamed
+ out to a <code class="computeroutput"><span class="identifier">basic_ostream</span></code>.
+ The run time value of the <code class="computeroutput"><span class="identifier">duration</span></code>
+ is formatted according to the rules and current format settings for <code class="computeroutput"><span class="identifier">duration</span><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 <code class="computeroutput"><span class="identifier">duration</span></code>.
+ This unit name is built on the string returned from <code class="computeroutput"><span class="identifier">ratio_string</span></code>
+ and the data used to construct the <code class="computeroutput"><span class="identifier">duration_punct</span></code>
+ which was inserted into the stream's locale. If a <code class="computeroutput"><span class="identifier">duration_punct</span></code>
+ has not been inserted into the stream's locale, a default constructed
+ <code class="computeroutput"><span class="identifier">duration_punct</span></code> will be
+ added to the stream's locale.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">duration</span></code> unit names come
+ in two varieties: long and short. The default constructed <code class="computeroutput"><span class="identifier">duration_punct</span></code> provides names in the
+ long format. These names are English descriptions. Other languages are
+ supported by constructing a <code class="computeroutput"><span class="identifier">duration_punct</span></code>
+ 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.
+ </p>
+<p>
+ A <code class="computeroutput"><span class="identifier">time_point</span></code> is formatted
+ by outputting its internal <code class="computeroutput"><span class="identifier">duration</span></code>
+ followed by a string that describes the <code class="computeroutput"><span class="identifier">time_point</span><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.
+ </p>
+<p>
+ <span class="bold"><strong>Example:</strong></span>
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</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">chrono_io</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<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="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">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="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="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="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="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="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="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="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="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="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="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The output could be
+ </p>
+<pre class="programlisting"><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">=</span> <span class="number">3010</span> <span class="identifier">microseconds</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">=</span> <span class="number">190</span> <span class="identifier">minutes</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">=</span> <span class="number">56</span> <span class="special">[</span><span class="number">1</span><span class="special">/</span><span class="number">5000000000</span><span class="special">]</span><span class="identifier">seconds</span>
+
+<span class="identifier">Set</span> <span class="identifier">cout</span> <span class="identifier">to</span> <span class="identifier">use</span> <span class="keyword">short</span> <span class="identifier">names</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">microseconds</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">=</span> <span class="number">3010</span> <span class="identifier">us</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">=</span> <span class="number">190</span> <span class="identifier">m</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">=</span> <span class="number">56</span> <span class="special">[</span><span class="number">1</span><span class="special">/</span><span class="number">5000000000</span><span class="special">]</span><span class="identifier">s</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="number">1284923218301231</span> <span class="identifier">us</span> <span class="identifier">since</span> <span class="identifier">Jan</span> <span class="number">1</span><span class="special">,</span> <span class="number">1970</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="number">18588963676886</span> <span class="identifier">ns</span> <span class="identifier">since</span> <span class="identifier">boot</span>
+
+<span class="identifier">Set</span> <span class="identifier">cout</span> <span class="identifier">to</span> <span class="identifier">use</span> <span class="keyword">long</span> <span class="identifier">names</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">=</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.
+ </p>
+<p>
+ For example a stream containing "5000 milliseconds" can be parsed
+ into seconds, but if the stream contains "5001 milliseconds",
+ parsing into <code class="computeroutput"><span class="identifier">seconds</span></code> will
+ cause <code class="computeroutput"><span class="identifier">failbit</span></code> to be set.
+ </p>
+<p>
+ <span class="bold"><strong>Example:</strong></span>
+ </p>
+<div class="orderedlist"><ol type="1">
+<li>
+ include &lt;boost/chrono/chrono_io.hpp&gt;
+ </li>
+<li>
+ include &lt;sstream&gt;
+ </li>
+<li>
+ include &lt;cassert&gt;
+ </li>
+</ol></div>
+<p>
+ int main() { using namespace std; using namespace boost::chrono;
+ </p>
+<pre class="programlisting"><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">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>
+<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">4</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">fail</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">4</span><span class="special">));</span>
+
+<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+</pre>
+<p>
+ istringstream in("5000 milliseconds 4000 ms 3001 ms"); seconds
+ d(0); in &gt;&gt; d; assert(in.good()); assert(d <code class="literal">= seconds(5));
+ in &gt;&gt; d; assert(in.good()); assert(d =</code> seconds(4)); in
+ &gt;&gt; d; assert(in.fail()); assert(d == seconds(4));
+ </p>
+<pre class="programlisting"><span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+</pre>
+<p>
+ return 0; }
+ </p>
+<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.
+ </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.
+ </p>
+<p>
+ <span class="bold"><strong>Example:</strong></span>
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">chrono_io</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">sstream</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="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cassert</span><span class="special">&gt;</span>
+
+<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="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">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">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">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>
+ <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">t1</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>
+<p>
+ The output could be:
+ </p>
+<pre class="programlisting"><span class="number">50908679121461</span> <span class="identifier">nanoseconds</span> <span class="identifier">since</span> <span class="identifier">boot</span>
+<span class="identifier">That</span> <span class="identifier">took</span> <span class="number">649630</span> <span class="identifier">nanoseconds</span>
+</pre>
+<p>
+ Here's a simple example to find out how many hours the computer has been
+ up (on this platform):
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">chrono_io</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">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="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> <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="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>
+</pre>
+<p>
+ The output could be:
+ </p>
+<pre class="programlisting"><span class="number">17.8666</span> <span class="identifier">hours</span> <span class="identifier">since</span> <span class="identifier">boot</span>
+</pre>
+</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/index.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/index.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/index.html 2010-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -1,10 +1,10 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Boost.Chrono 0.5.0</title>
+<title>Boost.Chrono 0.6.0</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.5.0">
+<link rel="start" href="index.html" title="Boost.Chrono 0.6.0">
 <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.5.0</h2></div>
+<a name="boost_chrono"></a>Boost.Chrono 0.6.0</h2></div>
 <div><div class="authorgroup">
 <div class="author"><h3 class="author">
 <span class="firstname">Howard</span> <span class="surname">Hinnant</span>
@@ -65,6 +65,7 @@
 <dd><dl>
 <dt><span class="section"><a href="boost_chrono/reference/cpp0x.html"> Included on the C++0x
       recommendation</a></span></dt>
+<dt><span class="section"> Chrono I/O</span></dt>
 <dt><span class="section"> Other clocks</span></dt>
 <dt><span class="section"> Deprecated Headers</span></dt>
 </dl></dd>
@@ -94,7 +95,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: September 11, 2010 at 12:40:52 GMT</small></p></td>
+<td align="left"><p><small>Last revised: September 21, 2010 at 09:02:25 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-09-21 05:43:11 EDT (Tue, 21 Sep 2010)
@@ -9,6 +9,7 @@
 boost_chrono/users_guide/ext_references.html
 boost_chrono/reference.html
 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-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