Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r65224 - 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-03 15:43:22


Author: viboes
Date: 2010-09-03 15:43:17 EDT (Fri, 03 Sep 2010)
New Revision: 65224
URL: http://svn.boost.org/trac/boost/changeset/65224

Log:
Uopdate doc after Stopwatched removal.
Text files modified:
   sandbox/chrono/libs/chrono/doc/chrono.qbk | 2291 ---------------------------------------
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices.html | 3
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/acknowledgements.html | 16
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/faq.html | 12
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/history.html | 81
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/perf.html | 4
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/rationale.html | 29
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tests.html | 422 -------
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/todo.html | 4
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview.html | 3
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/description.html | 67 -
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/motivation.html | 37
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference.html | 45
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/cpp0x.html | 12
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/deprecated.html | 9
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/other_clocks.html | 42
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide.html | 3
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/examples.html | 95 -
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/getting_started.html | 25
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/tutorial.html | 495 --------
   sandbox/chrono/libs/chrono/doc/html/index.html | 5
   sandbox/chrono/libs/chrono/doc/html/standalone_HTML.manifest | 3
   22 files changed, 194 insertions(+), 3509 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-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -163,55 +163,6 @@
 [def __SuspendibleClock_req__ [SuspendibleClock_concept_link `SuspendibleClock` requirements]]
 [def __SuspendibleClock__ [SuspendibleClock_concept_link `SuspendibleClock`]]
 
-[/==================]
-[template stopwatch_concept_link[link_text] [link boost_chrono.reference.stopwatches.stopwatch_req [link_text]]]
-[def __stopwatch_concept__ [stopwatch_concept_link `Stopwatch` concept]]
-[def __stopwatch_concept_type__ [stopwatch_concept_link `Stopwatch`]]
-[def __stopwatch_req__ [stopwatch_concept_link `Stopwatch` requirements]]
-[def __Stopwatch__ [stopwatch_concept_link `Stopwatch`]]
-
-
-[def __stopwatch__ [link boost_chrono.reference.stopwatches.stopwatch_hpp.stopwatch `stopwatch`]]
-
-[def __stopwatch_accumulator__ [link boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator `stopwatch_accumulator`]]
-
-
-[def __stopwatch_reporter__ [link boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter `stopwatch_reporter`]]
-
-[def __stopclock_accumulator__ [link boost_chrono.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator `stopclock_accumulator`]]
-
-[/==================]
-[template formatter_concept_link[link_text] [link boost_chrono.reference.reporters.formatter_req [link_text]]]
-[def __formatter_concept__ [formatter_concept_link `Formatter` concept]]
-[def __formatter_concept_type__ [formatter_concept_link `Formatter`]]
-[def __formatter_req__ [formatter_concept_link `Formatter` requirements]]
-[def __Formatter__ [formatter_concept_link `Formatter`]]
-
-[def __stopclock__ [link boost_chrono.reference.reporters.stopclock_hpp.stopclock `stopclock`]]
-[def __stopclock_clock__ [link boost_chrono.reference.reporters.stopclock_hpp.stopclock `stopclock<Clock>`]]
-
-[def __scoped_stopclock__ [link boost_chrono.reference.reporters.scoped_stopclock_hpp.scoped_stopclock `scoped_stopclock`]]
-
-[def __process_real_cpu_clock__ [link boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock `process_real_cpu_clock`]]
-
-[def __process_system_cpu_clock__ [link boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_system_cpu_clock `process_system_cpu_clock`]]
-
-[def __process_user_cpu_clock__ [link boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_user_cpu_clock `process_user_cpu_clock`]]
-
-[def __thread_clock__ [link boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock `thread_clock`]]
-[def __suspendible_clock__ [link boost_chrono.reference.other_clocks.suspendible_clock_hpp.suspendible_clock `suspendible_clock`]]
-
-[def __stopwatch_accumulator_formatter__ [link boost_chrono.reference.formatters.stopwatch_accumulator_formatter_hpp.basic_stopwatch_accumulator_formatter `stopwatch_accumulator_formatter`]]
-
-[def __stopwatch_accumulator_time_formatter__ [link boost_chrono.reference.formatters.stopwatch_accumulator_time_formatter_hpp.basic_stopwatch_accumulator_time_formatter `stopwatch_accumulator_time_formatter`]]
-
-[def __basic_stopwatch_formatter__ [link boost_chrono.reference.formatters.stopwatch_formatter_hpp.basic_stopwatch_formatter `stopwatch_accumulator_formatter`]]
-
-[def __basic_stopwatch_accumulator_formatter__ [link boost_chrono.reference.formatters.stopwatch_accumulator_formatter_hpp.basic_stopwatch_accumulator_formatter `stopwatch_accumulator_formatter`]]
-
-[def __basic_24_hours_formatter__ [link boost_chrono.reference.formatters.t24_hours_formatter_hpp.basic_24_hours_formatter `basic_24_hours_formatter`]]
-
-
 
 [warning Chrono is not part of the Boost libraries.]
 
@@ -242,13 +193,8 @@
 Finally, you can mentally add the following to any code fragments in this document:
 
     // Include all of Chrono files
- #include <boost/stopwatches.hpp>
-
-[/
- #include <boost/type_traits/common_type.hpp>
- #include <boost/ratio.hpp>
     #include <boost/chrono.hpp>
-]
+ using namespace boost::chrono;
 
 [/=================]
 [section Motivation]
@@ -297,36 +243,6 @@
 [/These clocks capture the specific time unitarily. __Boost_Chrono__ provides also a clock __process_cpu_clock__ that captures the three times at once.
 ]
 
-[/
- using namespace boost::chrono;
- int main()
- {
- stopwatch_reporter<stopwatch<process_cpu_clock> > _;
- // ...
- }
-
-Will produce the following output
-
- real 0.034s, cpu 0.031s (93.0%), user 0.031s, system 0.000s
-
-As this is one of the expression more commonly use, the library provides a stopclock shortcut so the preceding can be writen as
-
- using namespace boost::chrono;
- int main()
- {
- __stopclock__<> _;
- // ...
- }
-]
-
-[heading Reporting elapsed time]
-
-Knowing how long a program, a function or a specific code block takes to execute is useful in both test and production environments.
-__Boost_Chrono__ introduces the __Stopwatch__ concept which is a mechanism to measure the elapsed time.
-A Stopwatch allows to start, stop, suspend and resume measuring the elapsed time.
-__stopwatch__`<>` is the basic model of __Stopwatch__.
-
-It is often necessary to report elapsed time on a user display or in a log file. __stopwatch_reporter__<> provides a runtime reporting mechanism for this purpose which can be invoked in just one line of code.
 
 [heading How reliable are these measures?]
 
@@ -351,18 +267,6 @@
 ]
 * A class template, __ratio__, for specifying compile time rational constants such as 1/3 of a nanosecond or the number of inches per meter. __ratio__ represents a compile time ratio of compile time constants with support for compile time arithmetic with overflow and division by zero protection
 
-Knowing how long a program takes to execute is useful in both test and production environments. On top of the standard facilities __Boost_Chrono__ includes:
-
-* Stopwatches: A facility to measure elapsed time with the ability to start, stop, suspend, or resume measurement.
- * __Stopwatch__ concept
- * Scoped helper classes allowing to pairwise start/stop operations, suspend/resume and resume/suspend a __Stopwatch__.
- * __stopwatch__, model of __Stopwatch__ capturing elapsed __Clock__ times.
- * __stopwatch_accumulator__, model of __Stopwatch__ capturing cummulated elapsed Clock times.
-
-* a Stopclocks higher layer: provide a complete stopclock reporting package that can be invoked in a single line of code.
- * __stopwatch_reporter__, convenient reporting to an output stream (including wide char streams) of the elapsed time of models of __Stopwatch__ results.
- * __stopclock_clock__ shortcut of `__stopwatch_reporter__<__stopwatch__<Clock>>`
-
 To make the timing facilities more generally useful, __Boost_Chrono__ provides a number of clocks that are thin wrappers around the operating system's time APIs, thereby allowing the extraction of read (wall clock) time, user CPU time, system CPU time,
 
 * __process_real_cpu_clock__, captures real (wall clock) CPU times.
@@ -481,7 +385,8 @@
 [heading Building an executable that uses __Boost_Chrono__ ]
 [/=========================================================]
 
-In addition to link with the Boost Chrono library you need also to link with the Boost System library.
+In addition to link with the Boost Chrono library you need also to link with the Boost System library. If you use Suspendibles clocks you will need also with Boos Thread.
+
 
 [/=========================]
 [heading Exceptions safety ]
@@ -1010,69 +915,6 @@
 [endsect]
 
 
-[section Stopwatches and Stopclocks]
-
-Knowing how long a program, a function or a specific block takes to execute is useful in both test and production environments.
-__Boost_Chrono__ introduces the __Stopwatch__ concept which captures the mechanism to measure the elapsed time.
-A __Stopwatch__ allows to `start`, `stop`, `suspend` and `resume` measuring the elapsed time.
-__stopwatch__`<>` is the basic model of __Stopwatch__ allowing to make a single measure.
-
-At the user level, the main use case of measuring the elapsed time is to report these measures on the display.
-__stopwatch_reporter__`<>` provides a run time reporting package that can be invoked in a single line of code to report the usage of a __Clock__.
-For example
-
- using namespace boost::chrono;
- int f1(long j) {
- __stopwatch_reporter__<__stopwatch__<> > _;
-
- for ( long i = 0; i < j; ++i )
- std::sqrt( 123.456L ); // burn some time
-
- return 0;
- }
- int main() {
- f1(100000);
- f1(200000);
- f1(300000);
- return 0;
- }
-
-Will produce the following output
-
- 0.006s
- 0.011s
- 0.017s
-
-
-[section Stopwatches accumulation and statistics]
-
-The preceding stopwatch manage only with a measure. It is also interesting to have an statisitical view of these times, for example the sum, min, max and mean. __stopwatch_accumulator__`<>` associates an accumulator with a __stopwatch__, so we are able to retrieve any statistical feature Boost.Accumulator provides.
-
-For example
-
- using namespace boost::chrono;
- int f1(long j) {
- static __stopwatch_reporter__<__stopwatch_accumulator__<> > sw;
- __stopwatch_reporter__<__stopwatch_accumulator__<> >::scoped_run _(sw);
-
- for ( long i = 0; i < j; ++i )
- std::sqrt( 123.456L ); // burn some time
-
- return 0;
- }
- int main() {
- f1(100000);
- f1(200000);
- f1(300000);
- return 0;
- }
-
-Will produce the following output
-
- 3 times, sum=0.034s, min=0.006s, max=0.017s, mean=0.011s
-
-
-[endsect]
 
 [/
 [section How reliable are these measures?]
@@ -1117,250 +959,6 @@
 [endsect]
 ]
 
-[section How can I prefix each report with `BOOST_CURRENT_FUNCTION` function signature?]
-
-You will need to give a specific format to your __stopclock__. You just need to concatenate your specific pattern to the default_format of the formatter.
-
-For example, for a __stopclock_accumulator__ the default formatter is __stopwatch_accumulator_formatter__, you will need to do something like:
-
- static __stopclock_accumulator__<> acc(
- std::string(BOOST_CURRENT_FUNCTION) + ": "
- + __stopwatch_accumulator_formatter__::default_format()
- );
- __stopclock_accumulator__<>::scoped_run _(acc);
-
-
-Some of you will say that this is too long to type just to get the a report. You can of course define your own macro as
-
- #define REPORT_FUNCTION_ACCUMULATED_LIFETIME\
- static boost::chrono::__stopclock_accumulator__<> \
- BOOST_JOIN(_accumulator_, __LINE__)_
- ( std::string(BOOST_CURRENT_FUNCTION) + ": " + \
- boost::chrono::__stopwatch_accumulator_formatter__::default_format() \
- ); \
- boost::chrono::__stopclock_accumulator__<>::scoped_run \
- BOOST_JOIN(_accumulator_run_, __LINE__) \
- (BOOST_JOIN(_accumulator_, __LINE__))
-
-
-With this macro you will just have to write
-
- void foo()
- {
- REPORT_FUNCTION_ACCUMULATED_LIFETIME() ;
- boost::this_thread::sleep(boost::posix_time::milliseconds(100));
- // ...
- }
-
-[endsect]
-
-[section How can I prefix each report with `__FILE__[__LINE__]` pattern?]
-
-When you want to prefix with the `__FILE__[__LINE__]` pattern you can follow the same technique as described below:
-
- #define REPORT_LINE_ACCUMULATED_LIFETIME \
- static __stopclock_accumulator__<>
- BOOST_JOIN(_accumulator_, __LINE__) \
- ( std::string(__FILE__) + "[" + BOOST_STRINGIZE(__LINE__) + "] "
- + __stopwatch_accumulator_formatter__::default_format() \
- ); \
- __stopclock_accumulator__<>::scoped_run \
- BOOST_JOIN(_accumulator_run_, __LINE__)
- (BOOST_JOIN(_accumulator_, __LINE__))
-
-Now you can mix fcntion and line reports as follows
-
- void foo()
- {
- REPORT_FUNCTION_ACCUMULATED_LIFETIME;
- boost::this_thread::sleep(boost::posix_time::milliseconds(100));
- {
- REPORT_LINE_ACCUMULATED_LIFETIME;
- boost::this_thread::sleep(boost::posix_time::milliseconds(200));
- }
-
- }
-
-[endsect]
-
-[section Can I use an stopclock accumulator which is not static?]
-
-The typical example of stopclock_accumulator is to get statistical measures of the time a function takes for each one of its calls. You can also use __stopclock_accumulator__ to get statistical measures of the time a given loop takes for each one of its laps.
-
- __stopclock_accumulator__<> acc(
- std::string(__FILE__) + "[" + BOOST_STRINGIZE(__LINE__) + "] "
- + __stopwatch_accumulator_formatter__::default_format()
- );
- for (int i=0; i<N; i++) {
- __stopclock_accumulator__<>::scoped_run _(acc);
- // ...
- }
-
-
-[endsect]
-
-[section How can I suspend a stopwatch?]
-
- #include <boost/chrono/stopwatch.hpp>
- #include <cmath>
- #include <boost/thread.hpp>
-
-
- using namespace boost::chrono;
- double res;
- void f1(long j)
- {
- __stopwatch_reporter__<__stopwatch__<> >:: _(BOOST_CHRONO_STOPWATCH_FUNCTION_FORMAT);
- for (long i =0; i< j; i+=1)
- res+=std::sqrt( res+123.456L+i ); // burn some time
- __stopwatch_reporter__<__stopwatch__<> >::scoped_suspend s(_);
- boost::this_thread::sleep(boost::posix_time::milliseconds(200));
- }
-
-[endsect]
-
-[section How to get specific statistics from stopwatches accumulator?]
-
-There are two use cases that coul need to change the statistics associated to a stopwatches accumulator:
-
-# We want to reduce the default reporting and we preffer to adapt the statistics to the reporting
-# We want to report other statistics of the samples
-
-For the first case we just need to change the accumulator_set and the format we want to get. Imagin we want to get only the count, sam and mean statistics, no need to calculate the min neither the max.
-
- using namespace boost::accumulators;
-
- typedef __stopwatch_reporter__<__stopwatch_accumulator__<__process_real_cpu_clock__,
- accumulator_set<__process_real_cpu_clock__::rep,
- features<
- tag::count,
- tag::sum,
- tag::mean
- >
- >
- > my_stopwatch_accumulator_reporter;
-
- int f1(long j)
- {
- static my_stopwatch_accumulator_reporter acc("%c times, sum=%ss, mean=%as\n");
- my_stopwatch_accumulator_reporter::scoped_run _(acc);
-
- for ( long i = 0; i < j; ++i )
- std::sqrt( 123.456L ); // burn some time
-
- return 0;
- }
-
-But what would hapend if we haven't forced the format:
-
- static my_stopwatch_accumulator_reporter acc;
- my_stopwatch_accumulator_reporter::scoped_run _(acc);
-
-Unfortunately there is no error at compile time. Fortunately, the run-time execution is not undefined and will return 0 for the missing statistics.
-
-
-[endsect]
-
-[endsect]
-
-
-[section Formatters]
-[section How can I make a specific formatter when the default do not satisfy my expectations]
-
-Imagine then that we want to report the `tag::variance(lazy)`. We will need to include the specific accumulator file
-
- ...
- #include <boost/accumulators/statistics/variance.hpp>
- ...
- typedef __stopwatch_reporter__<__stopwatch_accumulator__<__process_real_cpu_clock__,
- accumulator_set<__process_real_cpu_clock__::rep,
- features<
- tag::count,
- tag::sum,
- tag::mean,
- tag::variance(lazy)
- >
- >
- > my_stopwatch_accumulator_reporter;
-
-But what happens if we add new statistics to the accumulator_set that are not taken in account by the default formatter? These statistics will simply be ignored. So we will need to define our own accumulator formatter.
-
- typedef __stopwatch_reporter__<__stopwatch_accumulator__<__process_real_cpu_clock__,
- accumulator_set<__process_real_cpu_clock__::rep,
- features<
- tag::count,
- tag::sum,
- tag::mean,
- tag::variance(lazy)
- >
- >,
- my_stopwatch_accumulator_formatter
- > my_stopwatch_accumulator_reporter;
-
-Next follow the definition of a formatter taking care of count, sum, mean and variance
-
- class my_stopwatch_accumulator_formatter {
- public:
- typedef std::string string_type;
- typedef char char_type;
- typedef std::ostream ostream_type;
-
- static ostream_type & default_os() {return std::cout;}
- static const char_type* default_format() {
- return "%c times, sum=%ss, mean=%as, variance=%vs\n";
- }
- static int default_places() { return 3; }
-
- template <class Stopwatch >
- static void show_time( Stopwatch & stopwatch_, const char_type* format,
- int places, ostream_type & os, system::error_code & ec)
- {
- typedef typename Stopwatch::duration duration_t;
- typename Stopwatch::accumulator accumulator& acc = stopwatch_.accumulated();
-
- boost::io::ios_flags_saver ifs( os );
- os.setf( std::ios_base::fixed, std::ios_base::floatfield );
- boost::io::ios_precision_saver ips( os );
- os.precision( places );
-
- for ( ; *format; ++format ) {
- if ( *format != '%' || !*(format+1) || !std::strchr("acsv", *(format+1)) ) {
- os << *format;
- } else {
- ++format;
- switch ( *format ) {
- case 's':
- os << boost::chrono::duration<double>(
- duration_t(accumulators::sum(acc))).count();
- break;
- case 'a':
- os << (accumulators::count(acc)>0)
- ? boost::chrono::__duration__<double>(duration_t(
- duration_t::rep(accumulators::mean(acc)))).count()
- : 0;
- break;
- case 'c':
- os << accumulators::count(acc);
- break;
- case 'v':
- os << (accumulators::count(acc)>0)
- ? boost::chrono::__duration__<double>(duration_t(
- duration_t::rep(accumulators::variance(acc)))).count()
- : 0;
- break;
- default:
- assert(0 && "my_stopwatch_accumulator_formatter internal logic error");
- }
- }
- }
- }
- };
-
-
-
-[endsect]
-
-[endsect]
 
 
 [endsect]
@@ -2138,78 +1736,6 @@
 
 [endsect]
 
-[/============================]
-[section stopclock_example.cpp]
-
-Here is the stopclock_example.cpp program supplied with the Boost Chrono library:
-
-[/stopclock_example_cpp]
-
-When the `stopclock<> t` object is created, it starts timing. When it is destroyed at the end of the program, its destructor stops the time counting and displays timing information on cout.
-
- #include <boost/chrono/stopclock.hpp>
- #include <cmath>
-
- int main()
- {
- boost::chrono::__stopclock__<> t;
-
- for ( long i = 0; i < 10000000; ++i )
- std::sqrt( 123.456L ); // burn some time
-
- return 0;
- }
-
-The output of this program run looks like this:
-
- wall 0.42 s, user 0.41 s + system 0.00 s = total cpu 0.41 s, (96.3%)
-
-In other words, this program ran in 0.42 seconds as would be measured by a clock on the wall, the operating system charged it for 0.41 seconds of user CPU time and 0 seconds of system CPU time, the total of these two was 0.41, and that represented 96.3 percent of the wall clock time.
-
-['See the source file [@../../example/stopclock_example.cpp example/stopclock_example.cpp]]
-
-[endsect]
-
-
-[/=============================]
-[section stopclock_example2.cpp]
-
-The stopclock_example2.cpp program is the same, except that it supplies additional constructor arguments from the command line:
-
- #include <boost/chrono/stopclock.hpp>
- #include <cmath>
-
- int main( int argc, char * argv[] )
- {
- const char * format = argc > 1 ? argv[1] : "%t cpu seconds\n";
- int places = argc > 2 ? std::atoi( argv[2] ) : 2;
-
- boost::chrono::__stopclock__<> t( format, places );
-
- for ( long i = 0; i < 10000000; ++i )
- std::sqrt( 123.456L ); // burn some time
-
- return 0;
- }
-
-Here is the output for this program for several sets of command line arguments:
-
- stopclock_example2
- 0.42 cpu seconds
-
- stopclock_example2 "%w wall clock seconds\n"
- 0.41 wall clock seconds
-
- stopclock_example2 "%w wall clock seconds\n" 6
- 0.421875 wall clock seconds
-
- stopclock_example2 "%t total CPU seconds\n" 3
- 0.422 total CPU seconds
-
-['See the source file [@../../example/stopclock_example2.cpp example/stopclock_example2.cpp]]
-
-[endsect]
-
 [/===============================================================]
 [section time command]
 
@@ -4109,1755 +3635,52 @@
 [endsect]
 
 
-[/==================================================]
-[section:stopwatches Stopwatches]
-[/==================================================]
-[/=============================================]
-[section:stopwatches_hpp Header `<boost/stopwatches.hpp>`]
-[/=============================================]
-
-This file include all the stopwatches related files
-
- #include <boost/chrono/stopwatches.hpp>
-
-[endsect]
-
-[/=============================================]
-[section:chrono_stopwatches_hpp Header `<boost/chrono/stopwatches.hpp>`]
-[/=============================================]
-
-This file include all the stopwatches related files
-
- #include <boost/chrono/scoped_stopclock.hpp>
- #include <boost/chrono/process_cpu_clocks.hpp>
- #include <boost/chrono/stopclock.hpp>
- #include <boost/chrono/stopclock_accumulator.hpp>
- #include <boost/chrono/stopwatch.hpp>
- #include <boost/chrono/stopwatch_accumulator.hpp>
- #include <boost/chrono/stopwatch_accumulator_formatter.hpp>
- #include <boost/chrono/stopwatch_accumulator_time_formatter.hpp>
- #include <boost/chrono/stopwatch_formatter.hpp>
- #include <boost/chrono/stopwatch_reporter.hpp>
- #include <boost/chrono/stopwatch_scoped.hpp>
- #include <boost/chrono/time_formatter.hpp>
- #include <boost/chrono/t24_hours.hpp>
- #include <boost/chrono/t24_hours_formatter.hpp>
+[section:deprecated Deprecated Headers]
 
-[endsect]
+See Boost.Stopwatches for similar fonctionality.
 
-[section:stopwatch_req `Stopwatch` Requirements]
+[/==================================================]
+[section:timer_hpp Deprecated Header `<boost/chrono/timer.hpp>`]
+[/==================================================]
 
-A Stopwatch measure the amount of time elapsed from a start point in time to the stop point time or the accumulation of them. Stopwatches can in addition be restarted, suspended and resumed.
+This header has been deprecated, use instead <boost/chrono/stopwatch.hpp>.
 
-A Stopwatch must meet the requirements in the following table. In this table `S`, `S1` and `S2` denote stopwatches types. `s` is an instance of `S`.
+ namespace boost { namespace chrono {
+ template <class Clock=high_resolution_clock> class timer;
+ typedef <see above> system_timer;
+ #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
+ typedef <see above> monotonic_timer;
+ #endif
+ typedef <see above> high_resolution_timer;
+ }}
 
-[table Stopwatch Requirements
- [[expression] [return type] [operational semantics]]
- [[`S::clock`] [A model of __Clock__.] [The clock associated to this Stopwatch.]]
- [[`S::duration`] [`S::clock::duration`] [The __duration__ type of the `clock`.]]
- [[`S::time_point`] [`S::clock::time_point`] [The __time_point__ type of the `clock`.]]
- [[`S::scoped_run`] [`stopwatch_runner<stopwatch<Clock> >`] [RAI which `start`/`stop` the `stopwatch`.]]
- [[`S::scoped_suspend`] [`stopwatch_suspender<stopwatch<Clock> >`] [RAI which `suspend`/`resume` the `stopwatch`.]]
- [[`S::scoped_resume`] [`stopwatch_resumer<stopwatch<Clock> >`] [RAI which `resume`/`suspend` the `stopwatch`.]]
- [[`s.start()`] [`S::time_point`] [starts a Stopwatch.]]
- [[`s.restart()`] [`std::pair<S::duration,S::time_point>`] [restarts a Stopwatch.]]
- [[`s.stop()`] [`S::duration`] [stops a Stopwatch.]]
- [[`s.resume()`] [`S::time_point`] [resume a Stopwatch.]]
- [[`s.suspend()`] [`S::duration`] [suspends a Stopwatch.]]
- [[`s.elapsed()`] [`S::duration`] [the elapsed time while the Stopwatch was running.]]
+[/
+ typedef <see above> process_real_cpu_timer;
+ typedef <see above> process_user_cpu_timer;
+ typedef <see above> process_system_cpu_timer;
 ]
+[section:timer Template Class `timer<>`]
 
+Knowing how long a part of a program takes to execute is useful in both test and production environments.
+A `timer` object measures elapsed time. It is recommended to use it with clocks that measure wall clock rather than CPU time since the intended use is performance measurement on systems where total elapsed time is more important than just process or CPU time.
 
-[section:stopwatch_start Member Function `start()`]
-
- time_point start( system::error_code & ec = system::throws );
-
-[*Effect:] Starts running the stopwatch.
-
-[*Returns:] the starting time point.
-
-[*Throw:] Any exception the `Clock::now` function can throw when `ec` is `system::throws`
+The maximum measurable elapsed time depends on the Clock parameter. The accuracy of timings depends on the
+accuracy of timing information provided the Clock, and this coudl varies a great deal from one clock to another.
 
-[endsect]
-[section:stopwatch_stop Member Function `stop()`]
+ template <class Clock> class timer {
+ public:
+ typedef Clock clock;
+ typedef typename Clock::duration duration;
+ typedef typename Clock::time_point time_point;
 
- duration stop( system::error_code & ec = system::throws );
+ explicit timer( system::error_code & ec = system::throws );
 
-[*Effect:] Stops running the stopwatch.
+ ~timer();
 
-[*Returns:] The cummulated elapsed time.
+ void start( system::error_code & ec = system::throws );
+ duration elapsed( system::error_code & ec = system::throws );
 
-[*Throw:] Any exception the `Clock::now` function can throw when `ec` is `system::throws`
-
-[endsect]
-[section:stopwatch_suspend Member Function `suspend()`]
-
- duration suspend( system::error_code & ec = system::throws );
-
-[*Effect:] Suspends the stopwatch.
-
-[*Throw:] Any exception the `Clock::now` function can throw when `ec` is `system::throws`
-
-[endsect]
-[section:stopwatch_resume Member Function `resume()`]
-
- time_point resume( system::error_code & ec = system::throws );
-
-[*Effect:] Resumes the stopwatch.
-
-[*Returns:] the starting time point.
-
-[*Throw:] Any exception the Clock::now function can throw.
-
-[endsect]
-
-[section:stopwatch_restart Member Function `restart()`]
-
- time_point restart( system::error_code & ec = system::throws );
-
-[*Effect:] `stop`/`start` the stopwatch.
-
-[*Returns:] the starting time point.
-
-[*Throw:] Any exception the `Clock::now` function can throw when `ec` is `system::throws`
-
-[endsect]
-
-Models of `Stopwatch`:
-
-* __stopwatch__
-* __stopwatch_accumulator__
-
-[endsect]
-
-
-[/==================================================]
-[section:lightweight_stopwatch_hpp Header `<boost/chrono/lightweight_stopwatch.hpp>`]
-[/==================================================]
-
-
- namespace boost { namespace chrono {
- struct dont_start_t;
- static const dont_start_t dont_start;
-
- template <class Clock=high_resolution_clock,
- typename Features=void,
- typename Weight=void
- > class __lightweight_stopwatch__;
-
- typedef <see above> system_lightweight_stopwatch;
- #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef <see above> monotonic_lightweight_stopwatch;
- #endif
- typedef <see above> high_resolution_lightweight_stopwatch;
- }}
-
-[section:dont_start_t Class `dont_start_t`]
-
-Structure used to don't start a `lightweight_stopwatch` at construction time.
-
- struct dont_start_t;
- static const dont_start_t dont_start;
-
-[endsect]
-
-[section:lightweight_stopwatch Template Class `lightweight_stopwatch<>`]
-
-`lightweight_stopwatch<>` is a model of a __lightweight_stopwatch_concept__.
-
-Knowing how long a part of a program takes to execute is useful in both test and production environments.
-A __lightweight_stopwatch__ object measures elapsed time. It is recommended to use it with clocks that measure wall clock rather than CPU time since the intended use is performance measurement on systems where total elapsed time is more important than just process or CPU time.
-
-The maximum measurable elapsed time depends on the Clock parameter. The accuracy of timings depends on the
-accuracy of timing information provided the Clock, and this coudl varies a great deal from one clock to another.
-
- template <class Clock, typename Features, typename Weight>
- class lightweight_stopwatch {
- public:
- typedef Clock clock;
- typedef typename Clock::duration duration;
- typedef typename Clock::time_point time_point;
- typedef <see below> storage;
-
- explicit lightweight_stopwatch( storage& st, system::error_code & ec = system::throws );
- lightweight_stopwatch( storage& st, const dont_start_t& t );
-
- ~lightweight_stopwatch();
-
- time_point start( system::error_code & ec = system::throws );
- duration stop( system::error_code & ec = system::throws );
- std::pair<duration,time_point> restart( system::error_code & ec = system::throws );
-
- duration suspend( system::error_code & ec = system::throws );
- time_point resume( system::error_code & ec = system::throws );
-
- duration elapsed( system::error_code & ec = system::throws );
-
- time_point now( system::error_code & ec = system::throws );
-
- void reset( system::error_code & ec = system::throws );
-
- storage& get_storage( );
-
- duration lifetime( system::error_code & ec = system::throws );
-
- typedef lightweight_stopwatch_runner<lightweight_stopwatch<Clock> > scoped_run;
- typedef lightweight_stopwatch_suspender<lightweight_stopwatch<Clock> > scoped_suspend;
- typedef lightweight_stopwatch_resumer<lightweight_stopwatch<Clock> > scoped_resume;
- typedef lightweight_stopwatch_reporter<lightweight_stopwatch<Clock> > reporter;
-
- };
-
-
-`storage` is either `Clock::duration` if Features and Weight are void and `accumulators::accumulator_set<typename Clock::duration::rep, Features, Weight>` otherwise.
-
-[section:c1 Constructor `lightweight_stopwatch( storage&, system::error_code &)`]
-
- explicit lightweight_stopwatch( storage& st, system::error_code & ec = system::throws );
-
-[*Effect:] constructs and starts the lightweight_stopwatch.
-
-[*Throw:] Any exception the `Clock::now` function can throw when `ec` is `system::throws`
-
-[endsect]
-
-[section:c2 Constructor `lightweight_stopwatch( storage&, dont_start_t &)`]
-
- explicit lightweight_stopwatch( storage& st, const dont_start_t& t );
-
-[*Effect:] constructs the lightweight_stopwatch without starting it.
-
-[*Throw:] Nothing.
-
-[endsect]
-
-
-[section:lightweight_stopwatch_elapsed Member Function `elapsed()`]
-
- duration elapsed(system::error_code & ec = system::throws) const;
-
-[*Returns:] the cumulated elapsed time.
-
-[*Throw:] Any exception the `Clock::now` function can throw when `ec` is `system::throws`
-
-[endsect]
-
-
-[section:stopwatch_accumulator_accumulated Member Function `accumulated()`]
-
- storage& get_storage();
-
-[*Returns:] the assocaited storage reference.
-
-[*Throw:] Nothing.
-
-[endsect]
-
-
-[section:stopwatch_accumulator_reset Member Function `reset()`]
-
- void reset( );
-
-[*Effect:] Stop the lightweight_stopwatch and reinit the storage.
-
-[*Throw:] Nothing.
-
-[endsect]
-
-[endsect]
-
-[endsect]
-
-
-[/==================================================]
-[section:stopwatch_hpp Header `<boost/chrono/stopwatch.hpp>`]
-[/==================================================]
-
-
- namespace boost { namespace chrono {
- template <class Clock=high_resolution_clock> class __stopwatch__;
-
- template <class Clock>
- struct stopwatch_reporter_default_formatter<stopwatch<Clock> > {
- typedef stopwatch_formatter type;
- };
-
- template <class Clock>
- struct wstopwatch_reporter_default_formatter<stopwatch<Clock> > {
- typedef wstopwatch_formatter type;
- };
-
- typedef <see above> system_stopwatch;
- #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef <see above> monotonic_stopwatch;
- #endif
- typedef <see above> high_resolution_stopwatch;
- }}
-
-
-[section:stopwatch Template Class `stopwatch<>`]
-
-`stopwatch<>` is a model of a __stopwatch_concept__.
-
-Knowing how long a part of a program takes to execute is useful in both test and production environments.
-A __stopwatch__ object measures elapsed time. It is recommended to use it with clocks that measure wall clock rather than CPU time since the intended use is performance measurement on systems where total elapsed time is more important than just process or CPU time.
-
-The maximum measurable elapsed time depends on the Clock parameter. The accuracy of timings depends on the
-accuracy of timing information provided the Clock, and this coudl varies a great deal from one clock to another.
-
- template <class Clock>
- class stopwatch : private base_from_member<typename Clock::duration>, public lightweight_stopwatch<Clock>
- {
- public:
- explicit stopwatch( system::error_code & ec = system::throws );
- explicit stopwatch( const dont_start_t& t );
-
- };
-
-[section:c1 Constructor `stopwatch( system::error_code &)`]
-
- explicit stopwatch( system::error_code & ec = system::throws );
-
-[*Effect:] constructs and starts the stopwatch.
-
-[*Throw:] Any exception the `Clock::now` function can throw when `ec` is `system::throws`
-
-[endsect]
-
-[section:c2 Constructor `stopwatch( dont_start_t &)`]
-
- explicit stopwatch( const dont_start_t& t );
-
-[*Effect:] constructs the stopwatch without starting it.
-
-[*Throw:] Nothing.
-
-[endsect]
-
-[endsect]
-
-[section:spec `stopwatch_reporter_default_formatter` Specialization]
-
-The `stopwatch_reporter_default_formatter` of a `stopwatch<Clock>` is a `stopwatch_formatter`.
-
- template <class Clock>
- struct stopwatch_reporter_default_formatter<stopwatch<Clock> > {
- typedef stopwatch_formatter type;
- };
-
-The `wstopwatch_reporter_default_formatter` of a `stopwatch<Clock>` is a `wstopwatch_formatter`.
-
- template <class Clock>
- struct wstopwatch_reporter_default_formatter<stopwatch<Clock> > {
- typedef wstopwatch_formatter type;
- };
-
-[endsect]
-
-[section:stopwatch_typedefs `stopwatch` useful typedefs]
-
-The library provides stopwatch short cuts for all the models of __Clock__, replacing clock by stopwatch.
-
- typedef boost::chrono::stopwatch< boost::chrono::system_clock >
- system_stopwatch;
- #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef boost::chrono::stopwatch< boost::chrono::monotonic_clock >
- monotonic_stopwatch;
- #endif
- typedef boost::chrono::stopwatch< boost::chrono::high_resolution_clock >
- high_resolution_stopwatch;
-
-[endsect]
-[endsect]
-
-[/==================================================]
-[section:stopwatch_accumulator_hpp Header `<boost/chrono/stopwatch_accumulator.hpp>`]
-[/==================================================]
-
- namespace boost { namespace chrono {
- template <class Clock,
- typename Features=accumulators::features<
- accumulators::tag::count,
- accumulators::tag::sum,
- accumulators::tag::min,
- accumulators::tag::max,
- accumulators::tag::mean >,
- typename Weight=void
- > class __stopwatch_accumulator__;
-
- template <class Clock, class Accumulator>
- struct stopwatch_reporter_default_formatter<stopwatch_accumulator<Clock, Accumulator> > {
- typedef stopwatch_accumulator_formatter type;
- };
-
- template <class Clock, class Accumulator>
- struct wstopwatch_reporter_default_formatter<stopwatch_accumulator<Clock, Accumulator> > {
- typedef wstopwatch_accumulator_formatter type;
- };
-
- typedef <see below> system_stopwatch_accumulator;
- #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef <see below> monotonic_stopwatch_accumulator;
- #endif
- typedef <see below> high_resolution_stopwatch_accumulator;
-
- }}
-
-
-[section:stopwatch_accumulator Template Class `stopwatch_accumulator<>`]
-
-A `stopwatch_accumulator<>` is a model of a __stopwatch_concept__ that allows to accumulate the time in several times instead of at once as it is the case of the class __stopwatch__`<>`.
-
- template <class Clock, typename Features, typename Weight>
- class stopwatch_accumulator
- : private base_from_member<typename accumulators::accumulator_set<typename Clock::duration::rep, Features, Weight> >,
- public lightweight_stopwatch<Clock,Features,Weight>
- {
- public:
- stopwatch_accumulator( );
- };
-
-[section:stopwatch_accumulator_c Constructor `stopwatch_accumulator()`]
-
- stopwatch_accumulator();
-
-[*Effect:] Initialize the elapsed duration and the times counter to 0.
-
-[endsect]
-
-[endsect]
-
-[section:spec `stopwatch_reporter_default_formatter` Specialization]
-
-The `stopwatch_reporter_default_formatter` of a `stopwatch_accumulator<Clock>` is a `stopwatch_accumulator_formatter`.
-
- template <class Clock, class Accumulator>
- struct stopwatch_reporter_default_formatter<stopwatch_accumulator<Clock, Accumulator> > {
- typedef stopwatch_accumulator_formatter type;
- };
-
-The `wstopwatch_reporter_default_formatter` of a `stopwatch_accumulator<Clock>` is a `wstopwatch_accumulator_formatter`.
-
- template <class Clock, class Accumulator>
- struct wstopwatch_reporter_default_formatter<stopwatch_accumulator<Clock, Accumulator> > {
- typedef wstopwatch_accumulator_formatter type;
- };
-
-[endsect]
-
-
-[section:stopwatch_accumulator_typedefs `stopwatch_accumulator` useful typedefs]
-
-The library provides stopwatch_accumulator shortcuts for all the models of __Clock__, replacing clock by stopwatch_accumulator.
-
- typedef boost::chrono::stopwatch_accumulator< boost::chrono::system_clock >
- system_stopwatch_accumulator;
- #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef boost::chrono::stopwatch_accumulator< boost::chrono::monotonic_clock >
- monotonic_stopwatch_accumulator;
- #endif
- typedef boost::chrono::stopwatch_accumulator< boost::chrono::high_resolution_clock >
- high_resolution_stopwatch_accumulator;
-
-[endsect]
-[endsect]
-
-[/==================================================]
-[section:stopwatch_scoped_hpp Header `<boost/chrono/stopwatch_scoped.hpp>`]
-[/==================================================]
-
- namespace boost { namespace chrono {
- template <class Stopwatch> class stopwatch_runner;
- template <class Stopwatch> class stopwatch_suspender;
- template <class Stopwatch> class stopwatch_resumer;
- }}
-
-Boost.Chrono provides some helper classes ensuring pairwised operations (start/stop, suspend/resume, resule/suspend).
-
-[section:stopwatch_runner Template Class `stopwatch_runner<>`]
-
-This helper class ensures that the start/stop are pairwised. Start the associated accumulator at construction time, and stop it at destruction time.
-
- template <class Stopwatch> class stopwatch_runner {
- public:
- typedef Stopwatch stopwatch;
- stopwatch_runner(stopwatch & a, system::error_code & ec = system::throws);
- ~stopwatch_runner();
- stopwatch_runner() = delete;
- stopwatch_runner(const stopwatch_runner&) = delete;
- stopwatch_runner& operator=(const stopwatch_runner&) = delete;
- };
-
-Usage
-
- void f1()
- {
- static stopwatch_accumulator<> t;
- stopwatch_runner<stopwatch_accumulator<> > _(t);
- // ...
- }
-
-[endsect]
-[section:stopwatch_suspender Template Class `stopwatch_suspender<>`]
-
-This helper class ensures that the suspend/resume are pairwised. Suspend the associated accumulator at construction time, and resume it at destruction time.
-
- template <class Stopwatch> class stopwatch_suspender {
- public:
- typedef Stopwatch stopwatch;
- stopwatch_suspender(stopwatch & a, system::error_code & ec = system::throws);
- ~stopwatch_suspender();
- stopwatch_suspender() = delete;
- stopwatch_suspender(const stopwatch_suspender&) = delete;
- stopwatch_suspender& operator=(const stopwatch_suspender&) = delete;
- }
-
-Usage
-
- void f1()
- {
- static stopwatch_accumulator<> t;
- stopwatch_runner<stopwatch_accumulator<> > _(t);
- // ...
-
- // call to some function we don't want to measure
- {
- stopwatch_suspender<stopwatch_accumulator<> > _(t);
- external_function();
- }
- }
-
-[endsect]
-
-[section:stopwatch_resumer Template Class `stopwatch_resumer<>`]
-
-This helper class ensures that the resume/suspend are pairwised. Resume the associated accumulator at construction time, and suspecd it at destruction time.
-
- template <class Stopwatch> class stopwatch_resumer {
- public:
- typedef Stopwatch stopwatch;
- stopwatch_resumer(stopwatch & a, system::error_code & ec = system::throws);
- ~stopwatch_resumer();
- stopwatch_resumer() = delete;
- stopwatch_resumer(const stopwatch_resumer&) = delete;
- stopwatch_resumer& operator=(const stopwatch_resumer&) = delete;
- }
-
-Usage
-
- void f1()
- {
- static stopwatch_accumulator<> t;
- stopwatch_runner<stopwatch_accumulator<> > _(t);
- // ...
-
- // call to some function we don't want to measure
- {
- stopwatch_suspender<stopwatch_accumulator<> > _(t);
-
- {
- stopwatch_resumer<stopwatch_accumulator<> > _(t);
-
- }
- }
- }
-
-[endsect]
-
-[endsect]
-
-[endsect]
-[section:reporters Stopwatch Reporters]
-[section:formatter_req `Formatter` Requirements]
-
-A Formatter outputs on a given ostream a formatted string combining informations from a Stopwatch and the format and the double precision.
-
-A Formatter must meet the requirements in the following Table.
-
-In this table `F` denote a Formatter type, `S` is a Stopwatch and `s` is an instance of `S`, `f` is `const char *` , `p` is and int, and `os` is a `std::ostream`, ec is a system::error_code
-
-[table Formatter Requirements
- [[expression] [return type] [operational semantics]]
- [[`F::default_os()`] [std::otream&] [The output stream.]]
- [[`F::default_places()`] [`std::size_t`] [The precision when displaying a double.]]
- [[`F::default_format()`] [`const char*`] [The default format.]]
- [[`F::show_time(s,f,p,os,ec)`] [`S::time_point`] [outputs on `os` a formatted string combining informations from the Stopwatch `s`, the format `f` and the double precision `p`.]]
-]
-
-
-Models of `Formatter`:
-
-* __basic_stopwatch_formatter__
-* __basic_stopwatch_accumulator_formatter__
-* __basic_24_hours_formatter__
-
-[endsect]
-
-[section `Formatter` related traits]
-
- template <class Stopwatch>
- struct stopwatch_reporter_default_formatter {
- typedef <see below> type;
- };
-
-The nested typedef `type` defines the default formatter used by the __stopwatch_reporter__ class when the `Formatter` parameter is not explicit.
-
-[endsect]
-
-[/==================================================]
-[section:stopwatch_reporter_hpp Header `<boost/chrono/stopwatch_reporter.hpp>`]
-[/==================================================]
-
- namespace boost { namespace chrono {
- template <class Stopwatch, class Formatter>
- class basic_stopwatch_reporter;
-
- template <class Stopwatch>
- struct stopwatch_reporter_default_formatter;
-
- template <class Stopwatch,
- class Formatter=typename stopwatch_reporter_default_formatter<Stopwatch>::type>
- class __stopwatch_reporter__;
-
- template <class Stopwatch>
- struct wstopwatch_reporter_default_formatter;
-
- template <class Stopwatch,
- class Formatter=typename wstopwatch_reporter_default_formatter<Stopwatch>::type>
- class wstopwatch_reporter;
- }}
-
-[section:basic_stopwatch_reporter Template Class `basic_stopwatch_reporter<>`]
-
-class `basic_stopwatch_reporter` provides everything a `Stopwatch` provides and it adds reporting capabilities that can be invoked in a single line of code. The reporting is controleed by two parameters:
-
-* format : The output format
-* places(precision): the number of decimal placess used.
-
-The default places is given by Formatter::default_places().
-
-The default format is given by Formatter::default_format().
-
- template <class Stopwatch, class Formatter>
- class basic_stopwatch_reporter : public Stopwatch {
- public:
- typedef typename Stopwatch::clock clock;
- typedef Stopwatch stopwatch;
- typedef Formatter formatter;
-
- explicit basic_stopwatch_reporter( system::error_code & ec = system::throws );
- explicit basic_stopwatch_reporter( std::ostream & os,
- system::error_code & ec = system::throws );
-
- explicit basic_stopwatch_reporter( const std::string & format,
- system::error_code & ec = system::throws );
- explicit basic_stopwatch_reporter( std::ostream & os, const std::string & format,
- system::error_code & ec = system::throws );
-
- explicit basic_stopwatch_reporter( const std::string & format, int places,
- system::error_code & ec = system::throws );
- explicit basic_stopwatch_reporter( std::ostream & os, const std::string & format, int places,
- system::error_code & ec = system::throws );
-
- explicit basic_stopwatch_reporter( int places,
- system::error_code & ec = system::throws );
- explicit basic_stopwatch_reporter( std::ostream & os, int places,
- system::error_code & ec = system::throws );
-
- explicit basic_stopwatch_reporter( int places, const std::string & format,
- system::error_code & ec = system::throws );
- explicit basic_stopwatch_reporter( std::ostream & os, int places, const std::string & format,
- system::error_code & ec = system::throws );
-
- ~basic_stopwatch_reporter();
-
- void report( system::error_code & ec = system::throws );
- bool reported() const;
-
-
- typedef stopwatch_runner<basic_stopwatch_reporter<Stopwatch> > scoped_run;
- typedef stopwatch_suspender<basic_stopwatch_reporter<Stopwatch> > scoped_suspend;
- typedef stopwatch_resumer<basic_stopwatch_reporter<Stopwatch> > scoped_resume;
- };
-
-[endsect]
-
-[section:stopwatch_reporter Template Class `stopwatch_reporter<>`]
-
-class __stopwatch_reporter__ provides a everything a `Stopwatch` provides and it adds reporting capabilities that can be invoked in a single line of code. The reporting is controleed by two parameters:
-
-* format : The output format
-* places(precision): the number of decimal placess used.
-
-The default places is given by Formatter::default_places().
-
-The default format is given by Formatter::default_format().
-
- template <class Stopwatch, class Formatter>
- class stopwatch_reporter : public basic_stopwatch_reporter<Stopwatch,Formatter> {
- public:
- typedef typename Stopwatch::clock clock;
- typedef Stopwatch stopwatch;
- typedef Formatter formatter;
-
- explicit stopwatch_reporter( system::error_code & ec = system::throws );
- explicit stopwatch_reporter( std::ostream & os,
- system::error_code & ec = system::throws );
-
- explicit stopwatch_reporter( const std::string & format,
- system::error_code & ec = system::throws );
- explicit stopwatch_reporter( std::ostream & os, const std::string & format,
- system::error_code & ec = system::throws );
-
- explicit stopwatch_reporter( const std::string & format, int places,
- system::error_code & ec = system::throws );
- explicit stopwatch_reporter( std::ostream & os, const std::string & format, int places,
- system::error_code & ec = system::throws );
-
- explicit stopwatch_reporter( int places,
- system::error_code & ec = system::throws );
- explicit stopwatch_reporter( std::ostream & os, int places,
- system::error_code & ec = system::throws );
-
- explicit stopwatch_reporter( int places, const std::string & format,
- system::error_code & ec = system::throws );
- explicit stopwatch_reporter( std::ostream & os, int places, const std::string & format,
- system::error_code & ec = system::throws );
-
- ~stopwatch_reporter();
-
- void report( system::error_code & ec = system::throws );
- bool reported() const;
-
-
- typedef stopwatch_runner<stopwatch_reporter<Stopwatch> > scoped_run;
- typedef stopwatch_suspender<stopwatch_reporter<Stopwatch> > scoped_suspend;
- typedef stopwatch_resumer<stopwatch_reporter<Stopwatch> > scoped_resume;
- };
-
-Usage
-
- void f1()
- {
- typedef stopwatch_reporter<stopwatch_accumulator<> > accumulator;
- static accumulator t;
- accumulator::scoped_run _(t);
- // ...
-
- // call to some function we don't want to measure
- {
- accumulator::scoped_suspend _(t);
- external_function();
- }
- }
-
-[endsect]
-
-[section:wstopwatch_reporter Template Class `wstopwatch_reporter<>`]
-
-class `wstopwatch_reporter` provides a everything a `Stopwatch` provides and it adds reporting capabilities that can be invoked in a single line of code. The reporting is controleed by two parameters:
-
-* format : The output format
-* places(precision): the number of decimal placess used.
-
-The default places is given by Formatter::default_places().
-
-The default format is given by Formatter::default_format().
-
- template <class Stopwatch, class Formatter>
- class wstopwatch_reporter : public basic_wstopwatch_reporter<Stopwatch,Formatter> {
- public:
- typedef typename Stopwatch::clock clock;
- typedef Stopwatch stopwatch;
- typedef Formatter formatter;
-
- explicit wstopwatch_reporter( system::error_code & ec = system::throws );
- explicit wstopwatch_reporter( std::ostream & os,
- system::error_code & ec = system::throws );
-
- explicit wstopwatch_reporter( const std::string & format,
- system::error_code & ec = system::throws );
- explicit wstopwatch_reporter( std::ostream & os, const std::string & format,
- system::error_code & ec = system::throws );
-
- explicit wstopwatch_reporter( const std::string & format, int places,
- system::error_code & ec = system::throws );
- explicit wstopwatch_reporter( std::ostream & os, const std::string & format, int places,
- system::error_code & ec = system::throws );
-
- explicit wstopwatch_reporter( int places,
- system::error_code & ec = system::throws );
- explicit wstopwatch_reporter( std::ostream & os, int places,
- system::error_code & ec = system::throws );
-
- explicit wstopwatch_reporter( int places, const std::string & format,
- system::error_code & ec = system::throws );
- explicit wstopwatch_reporter( std::ostream & os, int places, const std::string & format,
- system::error_code & ec = system::throws );
-
- ~wstopwatch_reporter();
-
- void report( system::error_code & ec = system::throws );
- bool reported() const;
-
-
- typedef stopwatch_runner<wstopwatch_reporter<Stopwatch> > scoped_run;
- typedef stopwatch_suspender<wstopwatch_reporter<Stopwatch> > scoped_suspend;
- typedef stopwatch_resumer<wstopwatch_reporter<Stopwatch> > scoped_resume;
- };
-
-Usage
-
- void f1()
- {
- typedef wstopwatch_reporter<stopwatch_accumulator<> > accumulator;
- static accumulator t;
- accumulator::scoped_run _(t);
- // ...
-
- // call to some function we don't want to measure
- {
- accumulator::scoped_suspend _(t);
- external_function();
- }
- }
-
-[endsect]
-
-[endsect]
-
-[/==================================================]
-[section:stopclock_hpp Header `<boost/chrono/stopclock.hpp>`]
-[/==================================================]
-
- namespace boost { namespace chrono {
- template < class Clock, class Formatter > class basic_stopclock;
- template < class Clock, class Formatter > class __stopclock__;
- template < class Clock, class Formatter > class wstopclock;
-
- typedef <see above> system_stopclock;
- #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef <see above> monotonic_stopclock;
- #endif
- typedef <see above> high_resolution_stopclock;
- typedef <see above> process_real_cpu_stopclock;
- typedef <see above> process_user_cpu_stopclock;
- typedef <see above> process_system_cpu_stopclock;
-
- typedef <see above> system_wstopclock;
- #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef <see above> monotonic_wstopclock;
- #endif
- typedef <see above> high_resolution_wstopclock;
- typedef <see above> process_real_cpu_wstopclock;
- typedef <see above> process_user_cpu_wstopclock;
- typedef <see above> process_system_cpu_wstopclock;
- }}
-
-[section:basic_stopclock Template Class `basic_stopclock<>`]
-
-`basic_stopclock<Clock,Formatter>` template class is a shortcut of `basic_stopwatch_reporter<stopwatch<Clock,Formatter>>`
-
- template< class Clock, class Formatter>
- class basic_stopclock : public basic_stopwatch_reporter<stopwatch<Clock>, Formatter> {
- public:
- typedef Clock clock;
- typedef stopwatch<Clock> stopwatch;
- typedef Formatter formatter;
- typedef typename Formatter::string_type string_type;
- typedef typename Formatter::char_type char_type;
- typedef typename Formatter::ostream_type ostream_type;
-
- explicit basic_stopclock( system::error_code & ec = system::throws );
- explicit basic_stopclock( ostream_type & os,
- system::error_code & ec = system::throws );
- explicit basic_stopclock( const string_type & format,
- system::error_code & ec = system::throws );
- explicit basic_stopclock( int places,
- system::error_code & ec = system::throws );
-
- basic_stopclock( ostream_type & os, const string_type & format,
- system::error_code & ec = system::throws );
- basic_stopclock( const string_type & format, int places,
- system::error_code & ec = system::throws );
- basic_stopclock( ostream_type & os, int places,
- system::error_code & ec = system::throws );
- basic_stopclock( int places, const string_type & format,
- system::error_code & ec = system::throws );
-
- basic_stopclock( ostream_type & os, const string_type & format, int places,
- system::error_code & ec = system::throws );
- basic_stopclock( ostream_type & os, int places, const string_type & format,
- system::error_code & ec = system::throws );
-
-
- typedef typename base_type::scoped_run scoped_run;
- typedef typename base_type::scoped_suspend scoped_suspend;
- typedef typename base_type::scoped_resume scoped_resume;
- };
-
-[endsect]
-
-[section:stopclock Template Class `stopclock<>`]
-
-A stopclock is a stopwatch with the ability to report elapsed time on an output stream.
-`stopclock<Clock>` template class is a shortcut of `basic_stopclock<Clock, typename stopwatch_reporter_default_formatter<stopwatch<Clock>>::type>` with a specific default formatter.
-
- template
- < class Clock=process_cpu_clock
- , class Formatter=typename stopwatch_reporter_default_formatter<stopwatch<Clock>>::type
- > class stopclock : public basic_stopclock<Clock, Formatter> {
- public:
- typedef Clock clock;
- typedef stopwatch<Clock> stopwatch;
- typedef Formatter formatter;
- typedef typename Formatter::string_type string_type;
- typedef typename Formatter::char_type char_type;
- typedef typename Formatter::ostream_type ostream_type;
-
- explicit stopclock( system::error_code & ec = system::throws );
- explicit stopclock( ostream_type & os,
- system::error_code & ec = system::throws );
- explicit stopclock( const string_type & format,
- system::error_code & ec = system::throws );
- explicit stopclock( int places,
- system::error_code & ec = system::throws );
-
- stopclock( ostream_type & os, const string_type & format,
- system::error_code & ec = system::throws );
- stopclock( const string_type & format, int places,
- system::error_code & ec = system::throws );
- stopclock( ostream_type & os, int places,
- system::error_code & ec = system::throws );
- stopclock( int places, const string_type & format,
- system::error_code & ec = system::throws );
-
- stopclock( ostream_type & os, const string_type & format, int places,
- system::error_code & ec = system::throws );
- stopclock( ostream_type & os, int places, const string_type & format,
- system::error_code & ec = system::throws );
-
-
- typedef typename base_type::scoped_run scoped_run;
- typedef typename base_type::scoped_suspend scoped_suspend;
- typedef typename base_type::scoped_resume scoped_resume;
- };
-
-[endsect]
-[section:stopclock_typedefs `stopclock` useful typedefs]
-
-The library provides stopclock shortcuts for all the models of __Clock__, replacing clock by stopclock.
-
- typedef boost::chrono::stopclock< boost::chrono::system_clock >
- system_stopwatch_stopclock;
- #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef boost::chrono::stopclock< boost::chrono::monotonic_clock >
- monotonic_stopwatch_stopclock;
- #endif
- typedef boost::chrono::stopclock< boost::chrono::high_resolution_clock >
- high_resolution_stopclock;
- typedef boost::chrono::stopclock< boost::chrono::process_real_cpu_clock >
- process_real_cpu_stopclock;
- typedef boost::chrono::stopclock< boost::chrono::process_user_cpu_clock >
- process_user_cpu_stopclock;
- typedef boost::chrono::stopclock< boost::chrono::process_system_cpu_clock >
- process_system_cpu_stopclock;
-
-[endsect]
-
-[section:wstopclock Template Class `wstopclock<>`]
-
-`wstopclock<Clock>` template class is a shortcut of `basic_wstopclock<Clock, typename stopwatch_reporter_default_formatter<stopwatch<Clock>>::type>` with a specific default formatter.
-
- template
- < class Clock=process_cpu_clock
- , class Formatter=typename stopwatch_reporter_default_formatter<stopwatch<Clock>>::type
- > class wstopclock : public basic_wstopclock<Clock, Formatter> {
- public:
- typedef Clock clock;
- typedef stopwatch<Clock> stopwatch;
- typedef Formatter formatter;
- typedef typename Formatter::string_type string_type;
- typedef typename Formatter::char_type char_type;
- typedef typename Formatter::ostream_type ostream_type;
-
- explicit wstopclock( system::error_code & ec = system::throws );
- explicit wstopclock( ostream_type & os,
- system::error_code & ec = system::throws );
- explicit wstopclock( const string_type & format,
- system::error_code & ec = system::throws );
- explicit wstopclock( int places,
- system::error_code & ec = system::throws );
-
- wstopclock( ostream_type & os, const string_type & format,
- system::error_code & ec = system::throws );
- wstopclock( const string_type & format, int places,
- system::error_code & ec = system::throws );
- wstopclock( ostream_type & os, int places,
- system::error_code & ec = system::throws );
- wstopclock( int places, const string_type & format,
- system::error_code & ec = system::throws );
-
- wstopclock( ostream_type & os, const string_type & format, int places,
- system::error_code & ec = system::throws );
- wstopclock( ostream_type & os, int places, const string_type & format,
- system::error_code & ec = system::throws );
-
-
- typedef typename base_type::scoped_run scoped_run;
- typedef typename base_type::scoped_suspend scoped_suspend;
- typedef typename base_type::scoped_resume scoped_resume;
- };
-
-[endsect]
-[section:wstopclock_typedefs `wstopclock` useful typedefs]
-
-The library provides wstopclock shortcuts for all the models of __Clock__, replacing clock by wstopclock.
-
- typedef boost::chrono::wstopclock< boost::chrono::system_clock >
- system_wstopclock;
- #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef boost::chrono::wstopclock< boost::chrono::monotonic_clock >
- monotonic_wstopclock;
- #endif
- typedef boost::chrono::wstopclock< boost::chrono::high_resolution_clock >
- high_resolution_wstopclock;
- typedef boost::chrono::wstopclock< boost::chrono::process_real_cpu_clock >
- process_real_cpu_wstopclock;
- typedef boost::chrono::wstopclock< boost::chrono::process_user_cpu_clock >
- process_user_cpu_wstopclock;
- typedef boost::chrono::wstopclock< boost::chrono::process_system_cpu_clock >
- process_system_cpu_wstopclock;
-
-[endsect]
-
-
-[endsect]
-
-[/==================================================]
-[section:stopclock_accumulator_hpp Header `<boost/chrono/stopclock_accumulator.hpp>`]
-[/==================================================]
-
- namespace boost { namespace chrono {
- template < class Clock, class Formatter >
- class basic_stopclock_accumulator;
- template < class Clock, class Formatter >
- class __stopclock_accumulator__;
- template < class Clock, class Formatter >
- class wstopclock_accumulator;
-
- typedef <see above> system_stopclock_accumulator;
- #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef <see above> monotonic_stopclock_accumulator;
- #endif
- typedef <see above> high_resolution_stopclock_accumulator;
- typedef <see above> process_real_cpu_stopclock_accumulator;
- typedef <see above> process_user_cpu_stopclock_accumulator;
- typedef <see above> process_system_cpu_stopclock_accumulator;
-
- typedef <see above> system_wstopclock_accumulator;
- #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef <see above> monotonic_wstopclock_accumulator;
- #endif
- typedef <see above> high_resolution_wstopclock_accumulator;
- typedef <see above> process_real_cpu_wstopclock_accumulator;
- typedef <see above> process_user_cpu_wstopclock_accumulator;
- typedef <see above> process_system_cpu_wstopclock_accumulator;
- }}
-
-[section:basic_stopclock_accumulator Template Class `basic_stopclock_accumulator<>`]
-
-`basic_stopclock_accumulator<Clock>` template class is a shortcut of `basic_stopwatch_reporter<stopwatch_accumulator<Clock>, typename stopwatch_reporter_default_formatter<stopwatch_accumulator<Clock>>::type>`
-
- template
- < class Clock=high_resolution_clock
- , class Formatter=
- typename stopwatch_reporter_default_formatter<stopwatch_accumulator<Clock>>::type
- > class basic_stopclock_accumulator
- : public basic_stopwatch_reporter<stopwatch_accumulator<Clock>, Formatter> {
- public:
- typedef Clock clock;
- typedef stopwatch_accumulator<Clock> stopwatch;
- typedef Formatter formatter;
- typedef typename Formatter::string_type string_type;
- typedef typename Formatter::char_type char_type;
- typedef typename Formatter::ostream_type ostream_type;
-
- explicit basic_stopclock_accumulator( system::error_code & ec = system::throws );
- explicit basic_stopclock_accumulator( ostream_type & os,
- system::error_code & ec = system::throws );
- explicit basic_stopclock_accumulator( const string_type & format,
- system::error_code & ec = system::throws );
- explicit basic_stopclock_accumulator( int places,
- system::error_code & ec = system::throws );
-
- basic_stopclock_accumulator( ostream_type & os, const string_type & format,
- system::error_code & ec = system::throws );
- basic_stopclock_accumulator( const string_type & format, int places,
- system::error_code & ec = system::throws );
- basic_stopclock_accumulator( ostream_type & os, int places,
- system::error_code & ec = system::throws );
- basic_stopclock_accumulator( int places, const string_type & format,
- system::error_code & ec = system::throws );
-
- basic_stopclock_accumulator( ostream_type & os, const string_type & format, int places,
- system::error_code & ec = system::throws );
- basic_stopclock_accumulator( ostream_type & os, int places, const string_type & format,
- system::error_code & ec = system::throws );
-
-
- typedef typename base_type::scoped_run scoped_run;
- typedef typename base_type::scoped_suspend scoped_suspend;
- typedef typename base_type::scoped_resume scoped_resume;
- };
-
-[endsect]
-
-[section:stopclock_accumulator Template Class `stopclock_accumulator<>`]
-
-`stopclock_accumulator<Clock>` template class is a shortcut of `stopwatch_reporter<stopwatch<Clock>>` with a specific formatter.
-
- template
- < class Clock=high_resolution_clock
- , class Formatter=
- typename stopwatch_reporter_default_formatter<stopwatch_accumulator<Clock>>::type
- > class stopclock_accumulator
- : public basic_stopclock_accumulator<Clock, Formatter> {
- public:
- typedef Clock clock;
- typedef stopwatch_accumulator<Clock> stopwatch;
- typedef Formatter formatter;
- typedef typename Formatter::string_type string_type;
- typedef typename Formatter::char_type char_type;
- typedef typename Formatter::ostream_type ostream_type;
-
- explicit stopclock_accumulator( system::error_code & ec = system::throws );
- explicit stopclock_accumulator( ostream_type & os,
- system::error_code & ec = system::throws );
- explicit stopclock_accumulator( const string_type & format,
- system::error_code & ec = system::throws );
- explicit stopclock_accumulator( int places,
- system::error_code & ec = system::throws );
-
- stopclock_accumulator( ostream_type & os, const string_type & format,
- system::error_code & ec = system::throws );
- stopclock_accumulator( const string_type & format, int places,
- system::error_code & ec = system::throws );
- stopclock_accumulator( ostream_type & os, int places,
- system::error_code & ec = system::throws );
- stopclock_accumulator( int places, const string_type & format,
- system::error_code & ec = system::throws );
-
- stopclock_accumulator( ostream_type & os, const string_type & format, int places,
- system::error_code & ec = system::throws );
- stopclock_accumulator( ostream_type & os, int places, const string_type & format,
- system::error_code & ec = system::throws );
-
-
- typedef typename base_type::scoped_run scoped_run;
- typedef typename base_type::scoped_suspend scoped_suspend;
- typedef typename base_type::scoped_resume scoped_resume;
- };
-
-[endsect]
-[section:stopclock_accumulator_typedefs `stopclock_accumulator` useful typedefs]
-
-The library provides stopclock_accumulator shortcuts for all the models of __Clock__, replacing clock by stopclock_accumulator.
-
-
- typedef boost::chrono::stopclock_accumulator< boost::chrono::system_clock >
- system_stopclock_accumulator;
- #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef boost::chrono::stopclock_accumulator< boost::chrono::monotonic_clock >
- monotonic_stopclock_accumulator;
- #endif
- typedef boost::chrono::stopclock_accumulator< boost::chrono::high_resolution_clock >
- high_resolution_stopclock_accumulator;
- typedef boost::chrono::stopclock_accumulator< boost::chrono::process_real_cpu_clock >
- process_real_cpu_stopclock_accumulator;
- typedef boost::chrono::stopclock_accumulator< boost::chrono::process_user_cpu_clock >
- process_user_cpu_stopclock_accumulator;
- typedef boost::chrono::stopclock_accumulator< boost::chrono::process_system_cpu_clock >
- process_system_cpu_stopclock_accumulator;
-
-[endsect]
-[section:wstopclock_accumulator Template Class `wstopclock_accumulator<>`]
-
-`wstopclock_accumulator<Clock>` template class is a shortcut of `stopwatch_reporter<stopwatch<Clock>>` with a specific formatter.
-
- template
- < class Clock=high_resolution_clock
- , class Formatter=
- typename stopwatch_reporter_default_formatter<stopwatch_accumulator<Clock>>::type
- > class wstopclock_accumulator
- : public basic_wstopclock_accumulator<Clock, Formatter> {
- public:
- typedef Clock clock;
- typedef stopwatch_accumulator<Clock> stopwatch;
- typedef Formatter formatter;
- typedef typename Formatter::string_type string_type;
- typedef typename Formatter::char_type char_type;
- typedef typename Formatter::ostream_type ostream_type;
-
- explicit wstopclock_accumulator( system::error_code & ec = system::throws );
- explicit wstopclock_accumulator( ostream_type & os,
- system::error_code & ec = system::throws );
- explicit wstopclock_accumulator( const string_type & format,
- system::error_code & ec = system::throws );
- explicit wstopclock_accumulator( int places,
- system::error_code & ec = system::throws );
-
- wstopclock_accumulator( ostream_type & os, const string_type & format,
- system::error_code & ec = system::throws );
- wstopclock_accumulator( const string_type & format, int places,
- system::error_code & ec = system::throws );
- wstopclock_accumulator( ostream_type & os, int places,
- system::error_code & ec = system::throws );
- wstopclock_accumulator( int places, const string_type & format,
- system::error_code & ec = system::throws );
-
- wstopclock_accumulator( ostream_type & os, const string_type & format, int places,
- system::error_code & ec = system::throws );
- wstopclock_accumulator( ostream_type & os, int places, const string_type & format,
- system::error_code & ec = system::throws );
-
-
- typedef typename base_type::scoped_run scoped_run;
- typedef typename base_type::scoped_suspend scoped_suspend;
- typedef typename base_type::scoped_resume scoped_resume;
- };
-
-[endsect]
-[section:wstopclock_accumulator_typedefs `wstopclock_accumulator` useful typedefs]
-
-The library provides wstopclock_accumulator shortcuts for all the models of __Clock__, replacing clock by wstopclock_accumulator.
-
- typedef boost::chrono::wstopclock_accumulator< boost::chrono::system_clock >
- system_wstopclock_accumulator;
- #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef boost::chrono::wstopclock_accumulator< boost::chrono::monotonic_clock >
- monotonic_wstopclock_accumulator;
- #endif
- typedef boost::chrono::wstopclock_accumulator< boost::chrono::high_resolution_clock >
- high_resolution_wstopclock_accumulator;
- typedef boost::chrono::wstopclock_accumulator< boost::chrono::process_real_cpu_clock >
- process_real_cpu_wstopclock_accumulator;
- typedef boost::chrono::wstopclock_accumulator< boost::chrono::process_user_cpu_clock >
- process_user_cpu_wstopclock_accumulator;
- typedef boost::chrono::wstopclock_accumulator< boost::chrono::process_system_cpu_clock >
- process_system_cpu_wstopclock_accumulator;
-
-[endsect]
-[endsect]
-
-[/==================================================]
-[section:scoped_stopclock_hpp Header `<boost/chrono/scoped_stopclock.hpp>`]
-[/==================================================]
-
- namespace boost { namespace chrono {
- template < class Clock, class Formatter > class scoped_stopclock;
- }}
-
-[section:scoped_stopclock Template Class `scoped_stopclock<>`]
-
-`scoped_stopclock<>`is like a `stopclock<>` but that in addition will output a scoped trace. At construction time it will output
-
- {{{ <string>
-
-and at destruction time
-
- }}} <string> <output of stopwatch_reporter>
-
-A typical ussage of this class is
-
- int f1(long j)
- {
- scoped_stopclock<> _(BOOST_CURRENT_FUNCTION);
-
- for ( long i = 0; i < j; ++i )
- std::sqrt( 123.456L ); // burn some time
-
- return 0;
- }
-
-
-[heading Synopsis]
-
- template < class Clock=process_cpu_clock
- , class Formatter=typename stopwatch_reporter_default_formatter<stopwatch<Clock>>::type
- > class scoped_stopclock
- : public stopwatch_reporter<stopwatch<Clock>, Formatter> {
- public:
- typedef Clock clock;
- typedef Stopwatch stopwatch;
- typedef Formatter formatter;
- typedef typename Formatter::string_type string_type;
- typedef typename Formatter::char_type char_type;
- typedef typename Formatter::ostream_type ostream_type;
-
- explicit scoped_stopclock( const std::string& func,
- system::error_code & ec = system::throws );
- scoped_stopclock( const std::string& func, ostream_type & os,
- system::error_code & ec = system::throws );
-
- scoped_stopclock( const std::string& func, const string_type & format,
- system::error_code & ec = system::throws );
-
- scoped_stopclock( const std::string& func, int places,
- system::error_code & ec = system::throws );
-
- scoped_stopclock( const std::string& func, ostream_type & os,
- const string_type & format,
- system::error_code & ec = system::throws );
-
- scoped_stopclock( const std::string& func, const string_type & format,
- int places, system::error_code & ec = system::throws );
-
- scoped_stopclock( const std::string& func, ostream_type & os, int places,
- system::error_code & ec = system::throws );
-
- scoped_stopclock( const std::string& func, int places,
- const string_type & format, system::error_code & ec = system::throws );
-
- scoped_stopclock( const std::string& func, ostream_type & os,
- const string_type & format, int places,
- system::error_code & ec = system::throws );
-
- scoped_stopclock( const std::string& func, ostream_type & os, int places,
- const string_type & format, system::error_code & ec = system::throws );
-
- ~scoped_stopclock();
-
- typedef typename base_type::scoped_run scoped_run;
- typedef typename base_type::scoped_suspend scoped_suspend;
- typedef typename base_type::scoped_resume scoped_resume;
- };
-
-[endsect]
-
-[endsect]
-[endsect]
-[section:formatters Stopwatch Formatters]
-
-[/==================================================]
-[section:stopwatch_formatter_hpp Header `<boost/chrono/stopwatch_formatter.hpp>`]
-[/==================================================]
-
- namespace boost { namespace chrono {
- template <
- typename CharT=char,
- typename Traits=std::char_traits<CharT>,
- class Alloc=std::allocator<CharT>
- >
- class basic_stopwatch_formatter;
-
- typedef basic_stopwatch_formatter<char> stopwatch_formatter;
- typedef basic_stopwatch_formatter<wchar_t> wstopwatch_formatter;
- }}
-
-[section:basic_stopwatch_formatter Template Class `basic_stopwatch_formatter<>`]
-
-`stopwatch_formatter` is a model of __Formatter__.
-
- template <
- typename CharT=char,
- typename Traits=std::char_traits<CharT>,
- class Alloc=std::allocator<CharT>
- >
- class basic_stopwatch_formatter {
- public:
- typedef std::basic_string<CharT,Traits,Alloc> string_type;
- typedef CharT char_type;
- typedef std::basic_ostream<CharT,Traits> ostream_type;
- static ostream_type & default_os();
- static const char_type * default_format();
- static int default_places();
-
- template < class Stopwatch >
- static void show_time( Stopwatch & stopwatch_, const char * format, int places,
- std::ostream & os, system::error_code & ec);
- };
-
-The default places is given by default_places and is 3.
-
-The default format is "%ts\\n", where
-
-* `%d` : the result of elapsed() when the reporting is done.
-
-The time is given using the suffix "s" following the System International d'Unites Std.
-
-[endsect]
-[endsect]
-
-[/==================================================]
-[section:stopwatch_accumulator_formatter_hpp Header `<boost/chrono/stopwatch_accumulator_formatter.hpp>`]
-[/==================================================]
-
- namespace boost { namespace chrono {
- template <
- typename CharT=char,
- typename Traits=std::char_traits<CharT>,
- class Alloc=std::allocator<CharT>
- > basic_stopwatch_accumulator_formatter;
- typedef basic_stopwatch_accumulator_formatter<char> stopwatch_accumulator_formatter;
- typedef basic_stopwatch_accumulator_formatter<wchar_t> wstopwatch_accumulator_formatter;
- }}
-
-[section:basic_stopwatch_accumulator_formatter Template Class `basic_stopwatch_accumulator_formatter<>`]
-
-`basic_stopwatch_accumulator_formatter` is a model of __Formatter__
-
- template <
- typename CharT=char,
- typename Traits=std::char_traits<CharT>,
- class Alloc=std::allocator<CharT>
- class basic_stopwatch_accumulator_formatter {
- public:
- typedef std::basic_string<CharT,Traits,Alloc> string_type;
- typedef CharT char_type;
- typedef std::basic_ostream<CharT,Traits> ostream_type;
- static ostream_type & default_os();
- static const char_type * default_format();
- static int default_places();
-
- template <class Stopwatch >
- static void show_time( Stopwatch & stopwatch_, const char * format, int places,
- std::ostream & os, system::error_code & ec);
- };
-
-The default places is given by default_places and is 3.
-
-The default format is "%c times, sum=%ss, min=%ms, max=%Ms, mean=%as, frequency=%fHz, lifetime=%ls, percentage=%p\%\\n", where
-
-* `%c` : the counter of the number of times the pair srat/stop has been called.
-* `%s` : the sum of the samples of elapsed time between the call to start/stop.
-* `%m` : the min of the samples of elapsed time between the call to start/stop.
-* `%M` : the max of the samples of elapsed time between the call to start/stop.
-* `%a` : the mean of the samples of elapsed time between the call to start/stop.
-* `%f` : the frequency of calls to start.
-* `%l` : the lifetime of the stopwatch_accumulator.
-* `%p` : the percentage of time spent by this stopwatch respect to its lifetime.
-
-The time is given using the suffix "s", the frequency is given using the suffix "Hz", both following the System International d'Unites Std.
-
-[endsect]
-
-[section:typedefs `basic_stopwatch_accumulator_formatter` useful typedefs]
-
-The library provides basic_stopwatch_accumulator_formatter shortcuts for char and wchar_t.
-
- typedef basic_stopwatch_accumulator_formatter<char>
- stopwatch_accumulator_formatter;
- typedef basic_stopwatch_accumulator_formatter<wchar_t>
- wstopwatch_accumulator_formatter;
-
-
-[endsect]
-[endsect]
-[/==================================================================]
-[section:time_formatter_hpp Header `<boost/chrono/time_formatter.hpp>`]
-[/==================================================================]
-
- namespace boost { namespace chrono {
-
- template <
- typename CharT=char,
- typename Traits=std::char_traits<CharT>,
- class Alloc=std::allocator<CharT>
- >
- class basic_time_formatter;
-
- typedef basic_time_formatter<char> time_formatter;
- typedef basic_time_formatter<wchar_t> wtime_formatter;
-
- template <>
- struct stopwatch_reporter_default_formatter<stopwatch<process_cpu_clock> > {
- typedef time_formatter type;
- };
-
- } }
-
-[section:basic_time_formatter Template Class `basic_time_formatter<>`]
-
-`basic_time_formatter` is a model of __Formatter__.
-
- template <typename CharT, typename Traits, class Alloc>
- class basic_time_formatter {
- public:
- typedef std::basic_string<CharT,Traits,Alloc> string_type;
- typedef CharT char_type;
- typedef std::basic_ostream<CharT,Traits> ostream_type;
- static ostream_type & default_os();
- static const char_type * default_format();
- static int default_places();
-
- template <class Stopwatch >
- static void show_time( Stopwatch & stopwatch_
- , const char * format, int places, std::ostream & os
- , system::error_code & ec);
- };
-
-The default places is given by default_places and is 3.
-
-The default format is "nreal %rs, cpu %cs (%p%), user %us, system %ss\\n", where
-
-* `%r` : real process clock
-* `%u` : user process clock
-* `%s` : system process clock
-* `%c` : user+system process clock
-* `%p` : percentage (user+system)/real process clock
-
-All the units are given using the suffix "s" following the System International d'Unites Std.
-
-[endsect]
-
-[section:typedefs `basic_time_formatter` useful typedefs]
-
-The library provides basic_time_formatter shortcuts for char and wchar_t.
-
- typedef basic_time_formatter<char> time_formatter;
- typedef basic_time_formatter<wchar_t> wtime_formatter;
-
-[endsect]
-
-[section:spec `stopwatch_reporter_default_formatter` Specialization]
-
- template <>
- struct stopwatch_reporter_default_formatter<stopwatch<process_cpu_clock> > {
- typedef time_formatter type;
- };
-
-[endsect]
-
-
-[endsect]
-
-[/==================================================]
-[section:stopwatch_accumulator_time_formatter_hpp Header `<boost/chrono/stopwatch_accumulator_time_formatter.hpp>`]
-[/==================================================]
-
- namespace boost { namespace chrono {
- template <
- typename CharT=char,
- typename Traits=std::char_traits<CharT>,
- class Alloc=std::allocator<CharT>
- > basic_stopwatch_accumulator_time_formatter;
- typedef basic_stopwatch_accumulator_time_formatter<char> stopwatch_accumulator_time_formatter;
- typedef basic_stopwatch_accumulator_time_formatter<wchar_t> wstopwatch_accumulator_time_formatter;
- }}
-
-[section:basic_stopwatch_accumulator_time_formatter Template Class `basic_stopwatch_accumulator_time_formatter<>`]
-
-`basic_stopwatch_accumulator_time_formatter` is a model of __Formatter__
-
- template <
- typename CharT=char,
- typename Traits=std::char_traits<CharT>,
- class Alloc=std::allocator<CharT>
- class basic_stopwatch_accumulator_time_formatter {
- public:
- typedef std::basic_string<CharT,Traits,Alloc> string_type;
- typedef CharT char_type;
- typedef std::basic_ostream<CharT,Traits> ostream_type;
- static ostream_type & default_os();
- static const char_type * default_format();
- static int default_places();
-
- template <class Stopwatch >
- static void show_time( Stopwatch & stopwatch_, const char * format, int places,
- std::ostream & os, system::error_code & ec);
- };
-
-The default places is given by default_places and is 3.
-
-The default format is "%c times, sum=%s, min=%m, max=%M, mean=%a, frequency=%fHz, lifetime=%ls, percentage=%p\%\\n|real %rs, cpu %cs (%p%), user %us, system %ss", where
-
-The part before the '|' corresponds to the accumulator format and the part after corresponds to the times format, which will be used for the sum, max, min and mean statistics.
-
-* `%c` : the counter of the number of times the pair srat/stop has been called.
-* `%s` : the sum of the samples of elapsed time between the call to start/stop.
-* `%m` : the min of the samples of elapsed time between the call to start/stop.
-* `%M` : the max of the samples of elapsed time between the call to start/stop.
-* `%a` : the mean of the samples of elapsed time between the call to start/stop.
-* `%f` : the frequency of calls to start.
-* `%l` : the lifetime of the stopwatch_accumulator.
-* `%p` : the percentage of time spent by this stopwatch respect to its lifetime.
-
-* `%r` : real process clock
-* `%u` : user process clock
-* `%s` : system process clock
-* `%c` : user+system process clock
-* `%p` : percentage (user+system)/real process clock
-
-The time is given using the suffix "s", the frequency is given using the suffix "Hz", both following the System International d'Unites Std.
-
-
-[endsect]
-
-[section:typedefs `basic_stopwatch_accumulator_time_formatter` useful typedefs]
-
-The library provides basic_stopwatch_accumulator_time_formatter shortcuts for char and wchar_t.
-
- typedef basic_stopwatch_accumulator_time_formatter<char>
- stopwatch_accumulator_time_formatter;
- typedef basic_stopwatch_accumulator_time_formatter<wchar_t>
- wstopwatch_accumulator_time_formatter;
-
-
-[endsect]
-[endsect]
-
-[/==================================================]
-[section:t24_hours_hpp Header `<boost/chrono/t24_hours.hpp>`]
-[/==================================================]
-
- namespace boost { namespace chrono {
- class t24_hours;
- }}
-
-[section:t24_hours Class `t24_hours`]
-
-`t24_hours` helper class decompose a duration in days, hours, minutes, seconds and nanoseconds. It can be used through its static functions or creating an instance and using its fields.
-
- class t24_hours {
- public:
- typedef boost::chrono::duration<boost::int_least32_t, __ratio__<24*3600> > days;
- typedef boost::chrono::hours hours;
- typedef boost::chrono::minutes minutes;
- typedef boost::chrono::seconds seconds;
- typedef boost::chrono::nanoseconds nanoseconds;
-
- template <class Rep, class Period>
- static days get_days(const boost::chrono::duration<Rep, Period>& d);
-
- template <class Rep, class Period>
- static hours get_hours(const boost::chrono::duration<Rep, Period>& d);
-
- template <class Rep, class Period>
- static minutes get_minutes(const boost::chrono::duration<Rep, Period>& d);
-
- template <class Rep, class Period>
- static seconds get_seconds(const boost::chrono::duration<Rep, Period>& d);
-
- template <class Rep, class Period>
- static nanoseconds get_nanoseconds(const boost::chrono::duration<Rep, Period>& d);
-
- days days_;
- hours hours_;
- minutes minutes_;
- seconds seconds_;
- nanoseconds nanoseconds_;
-
- template <class Rep, class Period>
- explicit t24_hours(const boost::chrono::duration<Rep, Period>& d);
- };
-
-[endsect]
-[endsect]
-
-[/==================================================================]
-[section:t24_hours_formatter_hpp Header `<boost/chrono/t24_hours_formatter.hpp>`]
-[/==================================================================]
-
-
- namespace boost { namespace chrono {
-
- template <
- typename CharT=char,
- typename Traits=std::char_traits<CharT>,
- class Alloc=std::allocator<CharT>
- >
- class basic_24_hours_formatter;
-
- typedef basic_24_hours_formatter<char> t24_hours_formatter;
- typedef basic_24_hours_formatter<wchar_t> wt24_hours_formatter;
-
- } }
-
-[section:basic_24_hours_formatter Template Class `basic_24_hours_formatter<>`]
-
-`basic_24_hours_formatter` is a model of __Formatter__.
-
- template <typename CharT, typename Traits, class Alloc>
- class basic_24_hours_formatter {
- public:
- static std::ostream & default_os();
- static const char * default_format();
- static int default_places();
-
- template <class Stopwatch >
- static void show_time( Stopwatch & stopwatch_
- , const char * format, int places, std::ostream & os
- , system::error_code & ec);
- };
-
-The default places is given by default_places and is 3.
-
-The default format is "%d days(s) %h:%m:%s.%n\\n", where
-
-* `%d` : days
-* `%h` : hours
-* `%m` : minutes
-* `%s` : seconds
-* `%n` : nanoseconds
-
-[endsect]
-
-[section:typedefs `basic_24_hours_formatter` useful typedefs]
-
-The library provides basic_24_hours_formatter shortcuts for char and wchar_t.
-
- typedef basic_24_hours_formatter<char> t24_hours_formatter;
- typedef basic_24_hours_formatter<wchar_t> wt24_hours_formatter;
-
-[endsect]
-
-[endsect]
-
-[endsect]
-[section:deprecated Deprecated Headers]
-[/==================================================]
-[section:timer_hpp Deprecated Header `<boost/chrono/timer.hpp>`]
-[/==================================================]
-
-This header has been deprecated, use instead <boost/chrono/stopwatch.hpp>.
-
- namespace boost { namespace chrono {
- template <class Clock=high_resolution_clock> class timer;
- typedef <see above> system_timer;
- #ifdef __BOOST_CHRONO_HAS_CLOCK_MONOTONIC
- typedef <see above> monotonic_timer;
- #endif
- typedef <see above> high_resolution_timer;
- }}
-
-[/
- typedef <see above> process_real_cpu_timer;
- typedef <see above> process_user_cpu_timer;
- typedef <see above> process_system_cpu_timer;
-]
-[section:timer Template Class `timer<>`]
-
-Knowing how long a part of a program takes to execute is useful in both test and production environments.
-A `timer` object measures elapsed time. It is recommended to use it with clocks that measure wall clock rather than CPU time since the intended use is performance measurement on systems where total elapsed time is more important than just process or CPU time.
-
-The maximum measurable elapsed time depends on the Clock parameter. The accuracy of timings depends on the
-accuracy of timing information provided the Clock, and this coudl varies a great deal from one clock to another.
-
- template <class Clock> class timer {
- public:
- typedef Clock clock;
- typedef typename Clock::duration duration;
- typedef typename Clock::time_point time_point;
-
- explicit timer( system::error_code & ec = system::throws );
-
- ~timer();
-
- void start( system::error_code & ec = system::throws );
- duration elapsed( system::error_code & ec = system::throws );
-
- };
+ };
 
 [endsect]
 
@@ -6030,6 +3853,22 @@
 [section:history Appendix A: History]
 [/==================================]
 
+[section [*Version 0.5, September 10, 2010] ]
+
+[*Features:]
+
+* Stopwatches have been moved to a separated library: Boost.Stopwatches.
+
+[endsect]
+
+[section [*Version 0.4.7, September 1, 2010] ]
+
+[*New Features:]
+
+* Added __lightweight_stopwatch__.
+
+[endsect]
+
 [section [*Version 0.4.6, August 28, 2010] ]
 
 [*New Features:]
@@ -6464,11 +4303,9 @@
 
 Much thanks to Andrei Alexandrescu, Walter Brown, Peter Dimov, Jeff Garland, Terry Golubiewski, Daniel Krugler, Anthony Williams.
 
-Beman Dawes added the `timer<>`, `process_clock`, `process_timer`, `run_timer` classes which are now deprecated and replaced by the __stopwatch__, `process_cpu_clock` and `stopclock` classes.
+Thanks to Adrew Chinoff for his help polishing the documentation.
 
-Thanks to Adrew Chinoff for its multiple suggestion on __stopwatch_accumulator__, and helping me to polish the documentation.
-
-Thanks to Tom Tan for reporting some compiler issues with MSVC V10 beta and MinGW-gcc-4.4.0 and for the many suggestion he did concerning the new __stopwatch__, `process_cpu_clock`and `stopclock` classes and a deep help with wide characters implementation.
+Thanks to Tom Tan for reporting some compiler issues with MSVC V10 beta and MinGW-gcc-4.4.0 and for the many suggestion he did concerning the `process_cpu_clock` class.
 
 Thanks to Ronald Bock for reporting Valgind issues and for the many suggestion he did concerning the documentation.
 
@@ -6536,26 +4373,6 @@
 ]
 [endsect]
 
-[section stopwatch]
-[table
- [[Name] [kind] [Description] [Result] [Ticket]]
- [[test_min_max] [compile] [test compilation succeeds in the presence of macros min and max.] [Pass] [#]]
- [[stopwatch_example] [run] [...] [Pass] [#]]
- [[scoped_stopwatch_example] [run] [...] [Pass] [#]]
- [[stopwatch_accumulator_example] [run] [...] [Pass] [#]]
- [[specific_stopwatch_accumulator_example] [run] [...] [Pass] [#]]
- [[stopclock_example] [run] [...] [Pass] [#]]
- [[stopclock_accumulator_example] [run] [...] [Pass] [#]]
- [[nested_stopclock_accumulator_example] [run] [...] [Pass] [#]]
- [[loop_stopclock_accumulator_example] [run] [...] [Pass] [#]]
- [[t24_hours_example] [run] [...] [Pass] [#]]
- [[scoped_stopclock_example] [run] [...] [Pass] [#]]
- [[timex] [link] [...] [Pass] [#]]
- [[stopclock_constructor_overload_test] [run] [...] [Pass] [#]]
- [[wstopclock_constructor_overload_test] [run] [...] [Pass] [#]]
-
-]
-[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-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -29,6 +29,8 @@
 <div class="toc"><dl>
 <dt><span class="section"> Appendix A: History</span></dt>
 <dd><dl>
+<dt><span class="section">Version 0.5, 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>
 <dt><span class="section"><a href="appendices/history.html#boost_chrono.appendices.history.__version_0_4_5__july_6__2010____documentation_update_"><span class="bold"><strong>Version 0.4.5, July 6, 2010</strong></span> <span class="emphasis"><em>Documentation
         update</em></span></a></span></dt>
@@ -65,7 +67,6 @@
 <dt><span class="section">ratio</span></dt>
 <dt><span class="section">chrono</span></dt>
 <dt><span class="section">Other Clocks</span></dt>
-<dt><span class="section">stopwatch</span></dt>
 </dl></dd>
 <dt><span class="section"> Appendix G: Tickets</span></dt>
 <dt><span class="section"> Appendix H: Performances</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-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -42,23 +42,11 @@
         Terry Golubiewski, Daniel Krugler, Anthony Williams.
       </p>
 <p>
- Beman Dawes added the <code class="computeroutput"><span class="identifier">timer</span><span class="special">&lt;&gt;</span></code>, <code class="computeroutput"><span class="identifier">process_clock</span></code>,
- <code class="computeroutput"><span class="identifier">process_timer</span></code>, <code class="computeroutput"><span class="identifier">run_timer</span></code> classes which are now deprecated
- and replaced by the <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp.stopwatch" title="
- Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a>, <code class="computeroutput"><span class="identifier">process_cpu_clock</span></code>
- and <code class="computeroutput"><span class="identifier">stopclock</span></code> classes.
- </p>
-<p>
- Thanks to Adrew Chinoff for its multiple suggestion on <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator" title="
- Template Class stopwatch_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator</span></code></a>, and helping
- me to polish the documentation.
+ Thanks to Adrew Chinoff for his help polishing the documentation.
       </p>
 <p>
         Thanks to Tom Tan for reporting some compiler issues with MSVC V10 beta and
- MinGW-gcc-4.4.0 and for the many suggestion he did concerning the new <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp.stopwatch" title="
- Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a>, <code class="computeroutput"><span class="identifier">process_cpu_clock</span></code>and
- <code class="computeroutput"><span class="identifier">stopclock</span></code> classes and a deep
- help with wide characters implementation.
+ MinGW-gcc-4.4.0 and for the many suggestion he did concerning the <code class="computeroutput"><span class="identifier">process_cpu_clock</span></code> class.
       </p>
 <p>
         Thanks to Ronald Bock for reporting Valgind issues and for the many suggestion

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/faq.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/faq.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/faq.html 2010-09-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -29,7 +29,7 @@
 <a name="boost_chrono.appendices.faq"></a> Appendix D: FAQ
 </h3></div></div></div>
 <a name="boost_chrono.appendices.faq.how_important_is_the_order_of_the___link_linkend__boost_chrono_reference_cpp0x_common_type_hpp_common_type___code__phrase_role__identifier__common_type__phrase___code___link__lt__gt__template_arguments_"></a><h4>
-<a name="id5133341"></a>
+<a name="id5083806"></a>
         <a href="faq.html#boost_chrono.appendices.faq.how_important_is_the_order_of_the___link_linkend__boost_chrono_reference_cpp0x_common_type_hpp_common_type___code__phrase_role__identifier__common_type__phrase___code___link__lt__gt__template_arguments_">How
         important is the order of the <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.common_type_hpp.common_type" title="
           Class Template common_type&lt;&gt;"><code class="computeroutput"><span class="identifier">common_type</span></code></a>&lt;&gt; template arguments?</a>
@@ -70,7 +70,7 @@
         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="id5133895"></a>
+<a name="id5084360"></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>
@@ -81,7 +81,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="id5133936"></a>
+<a name="id5084401"></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>
@@ -91,7 +91,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="id5133970"></a>
+<a name="id5084435"></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>
@@ -99,13 +99,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="id5133998"></a>
+<a name="id5084462"></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___link_linkend__boost_chrono_reference_cpp0x_common_type_hpp_common_type___code__phrase_role__identifier__common_type__phrase___code___link__against_boost_typeof_"></a><h4>
-<a name="id5134028"></a>
+<a name="id5084492"></a>
         <a href="faq.html#boost_chrono.appendices.faq.can_you_explain_the_pros_cons_of___link_linkend__boost_chrono_reference_cpp0x_common_type_hpp_common_type___code__phrase_role__identifier__common_type__phrase___code___link__against_boost_typeof_">Can
         you explain the pros/cons of <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.common_type_hpp.common_type" title="
           Class Template common_type&lt;&gt;"><code class="computeroutput"><span class="identifier">common_type</span></code></a> 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-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -27,6 +27,8 @@
 <a name="boost_chrono.appendices.history"></a> Appendix A: History
 </h3></div></div></div>
 <div class="toc"><dl>
+<dt><span class="section">Version 0.5, 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>
 <dt><span class="section"><a href="history.html#boost_chrono.appendices.history.__version_0_4_5__july_6__2010____documentation_update_"><span class="bold"><strong>Version 0.4.5, July 6, 2010</strong></span> <span class="emphasis"><em>Documentation
         update</em></span></a></span></dt>
@@ -53,6 +55,28 @@
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.appendices.history.__version_0_5__september_10__2010__"></a>Version 0.5, September 10, 2010
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ Stopwatches have been moved to a separated library: Boost.Stopwatches.
+ </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_4_7__september_1__2010__"></a>Version 0.4.7, September 1, 2010
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>New Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ Added __lightweight<span class="underline">stopwatch</span>_.
+ </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_4_6__august_28__2010__"></a>Version 0.4.6, August 28, 2010
 </h4></div></div></div>
 <p>
@@ -65,8 +89,7 @@
               Boost.TypeOf.
             </li>
 <li>
- Added <a href="../reference/formatters.html#boost_chrono.reference.formatters.stopwatch_accumulator_time_formatter_hpp.basic_stopwatch_accumulator_time_formatter" title="
- Template Class basic_stopwatch_accumulator_time_formatter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator_time_formatter</span></code></a>
+ Added __stopwatch_accumulator_time<span class="underline">formatter</span>_
               class.
             </li>
 </ul></div>
@@ -108,12 +131,12 @@
               Overview rewriting
             </li>
 <li>
- Added missing <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a> reference.
+ Added missing __thread<span class="underline">clock</span>_
+ reference.
             </li>
 <li>
- How to implement a <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a> tutorial removed.
+ How to implement a __thread<span class="underline">clock</span>_
+ tutorial removed.
             </li>
 <li>
               References section renamed to External Resources.
@@ -201,8 +224,7 @@
         </p>
 <div class="itemizedlist"><ul type="disc">
 <li>
- Added <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a> implementation
+ Added __thread<span class="underline">clock</span>_ implementation
               on Windows.
             </li>
 <li>
@@ -233,13 +255,12 @@
               and nothing otherwise.
             </li>
 <li>
- <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a> support on platforms
+ __thread<span class="underline">clock</span>_ support on platforms
               providing it natively.
             </li>
 <li>
- Added support for wide character for <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
- Template Class stopwatch_reporter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_reporter</span></code></a>, <code class="computeroutput"><span class="identifier">stopclock</span></code>, and <code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code>.
+ Added support for wide character for __stopwatch<span class="underline">reporter</span>_,
+ <code class="computeroutput"><span class="identifier">stopclock</span></code>, and <code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code>.
             </li>
 <li>
               <code class="computeroutput"><span class="identifier">digital_time</span></code> renamed
@@ -343,34 +364,30 @@
               (looking for a better name)
             </li>
 <li>
- Added new <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req" title="
- Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a> concept measuring
- elapsed time between different points in time associated to the operations
- <code class="computeroutput"><span class="identifier">start</span></code>, <code class="computeroutput"><span class="identifier">stop</span></code>, <code class="computeroutput"><span class="identifier">suspend</span></code>
- and <code class="computeroutput"><span class="identifier">resume</span></code>.
+ Added new <span class="underline">_Stopwatch</span>_ concept
+ measuring elapsed time between different points in time associated
+ to the operations <code class="computeroutput"><span class="identifier">start</span></code>,
+ <code class="computeroutput"><span class="identifier">stop</span></code>, <code class="computeroutput"><span class="identifier">suspend</span></code> and <code class="computeroutput"><span class="identifier">resume</span></code>.
             </li>
 <li>
- Added <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp.stopwatch" title="
- Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a> is a model <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req" title="
- Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a> measuring the elapsed
+ Added <span class="underline">_stopwatch</span>_ is a model
+ <span class="underline">_Stopwatch</span>_ measuring the elapsed
               time between the <code class="computeroutput"><span class="identifier">start</span></code>
               and the <code class="computeroutput"><span class="identifier">stop</span></code> operations.
             </li>
 <li>
- Added <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator" title="
- Template Class stopwatch_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator</span></code></a> is a
- model <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req" title="
- Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a> allowing to accumulate
- several time samples and gives the average, ...
+ Added __stopwatch<span class="underline">accumulator</span>_
+ is a model <span class="underline">_Stopwatch</span>_ allowing
+ to accumulate several time samples and gives the average, ...
             </li>
 <li>
               Added scoped helper classes allowing to pairwise <code class="computeroutput"><span class="identifier">start</span></code><span class="emphasis"><em>`stop`
               operations, `suspend`</em></span><code class="computeroutput"><span class="identifier">resume</span></code>
- and <code class="computeroutput"><span class="identifier">resume</span></code>/<code class="computeroutput"><span class="identifier">suspend</span></code> a <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req" title="
- Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a>.
+ and <code class="computeroutput"><span class="identifier">resume</span></code>/<code class="computeroutput"><span class="identifier">suspend</span></code> a <span class="underline">_Stopwatch</span>_.
             </li>
 <li>
- Added new stopwatch Formatter concept
+ Added new stopwatch <span class="underline">_Formatter</span>_
+ concept
               <div class="itemizedlist"><ul type="circle">
 <li>
                     Added stopwatch formatter "%ds\n"
@@ -389,8 +406,7 @@
 </ul></div>
             </li>
 <li>
- <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
- Template Class stopwatch_reporter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_reporter</span></code></a> is a convenient
+ __stopwatch<span class="underline">reporter</span>_ is a convenient
               generic class reporting elapsed time for the Stopwatch concept.
             </li>
 <li>
@@ -398,9 +414,8 @@
               shortcut <code class="computeroutput"><span class="identifier">stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;</span></code>
             </li>
 <li>
- Added <a href="../reference/reporters.html#boost_chrono.reference.reporters.scoped_stopclock_hpp.scoped_stopclock" title="
- Template Class scoped_stopclock&lt;&gt;"><code class="computeroutput"><span class="identifier">scoped_stopclock</span></code></a> which trace
- at the constuctor and destructor.
+ Added __scoped<span class="underline">stopclock</span>_ which
+ trace at the constuctor and destructor.
             </li>
 <li>
               Added <code class="computeroutput"><span class="identifier">typeof</span></code> registration

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/perf.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/perf.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/perf.html 2010-09-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -69,7 +69,7 @@
         with a variable lifetime.
       </p>
 <a name="boost_chrono.appendices.perf.single_threaded_recursive_function"></a><h4>
-<a name="id5137883"></a>
+<a name="id5087576"></a>
         <a href="perf.html#boost_chrono.appendices.perf.single_threaded_recursive_function">Single-Threaded
         Recursive function</a>
       </h4>
@@ -92,7 +92,7 @@
         and thread_clock.
       </p>
 <a name="boost_chrono.appendices.perf.multi_threaded_recursive_function"></a><h4>
-<a name="id5137934"></a>
+<a name="id5087626"></a>
         <a href="perf.html#boost_chrono.appendices.perf.multi_threaded_recursive_function">Multi-Threaded
         Recursive function</a>
       </h4>

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-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -33,7 +33,7 @@
         are an extract from this document.
       </p>
 <a name="boost_chrono.appendices.rationale.is_it_possible_for_the_user_to_pass_a___link_linkend__boost_chrono_reference_cpp0x_chrono_chrono_hpp_duration___code__phrase_role__identifier__duration__phrase___code___link__to_a_function_with_the_units_being_ambiguous_"></a><h4>
-<a name="id5131648"></a>
+<a name="id5082145"></a>
         <a href="rationale.html#boost_chrono.appendices.rationale.is_it_possible_for_the_user_to_pass_a___link_linkend__boost_chrono_reference_cpp0x_chrono_chrono_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.chrono_chrono_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="id5131748"></a>
+<a name="id5082245"></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="id5132328"></a>
+<a name="id5082825"></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>
@@ -109,7 +109,7 @@
         succeeds.
       </p>
 <a name="boost_chrono.appendices.rationale.why_ratio_needs_the_nested_normalizer_typedef_type"></a><h4>
-<a name="id5132737"></a>
+<a name="id5083234"></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>
@@ -140,7 +140,7 @@
 <span class="identifier">r1</span> <span class="special">=</span> <span class="identifier">r2</span><span class="special">;</span> <span class="comment">// compiles as both types are the same.
 </span></pre>
 <a name="boost_chrono.appendices.rationale.how_reliable_are_these_measures_"></a><h4>
-<a name="id5132982"></a>
+<a name="id5083479"></a>
         <a href="rationale.html#boost_chrono.appendices.rationale.how_reliable_are_these_measures_">How
         reliable are these measures?</a>
       </h4>
@@ -162,8 +162,7 @@
 </p>
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
     <span class="special">...</span>
- <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_hpp.stopclock" title="
- Template Class stopclock&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock</span></code></a><span class="special">&lt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.high_resolution_clock" title="
+ <span class="identifier">__stopclock__</span><span class="special">&lt;</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.high_resolution_clock" title="
           Class high_resolution_clock"><code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a><span class="special">&gt;</span> <span class="identifier">_</span><span class="special">;</span>
 </pre>
 <p>
@@ -172,10 +171,8 @@
 <li>
             Using a process clock in a multithreaded application will give elapsed
             time for the process as a whole, including threads other than the calling
- thread. To get time elapsed for a specific thread, use the supplied
- <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a> which returns time
- elapsed for the calling thread only, if supported by the platform.
+ thread. To get time elapsed for a specific thread, use the supplied __thread<span class="underline">clock</span>_ which returns time elapsed for the
+ calling thread only, if supported by the platform.
           </li>
 <li>
             When stopclocks are nested, usually from stopclocks appearing in each
@@ -199,12 +196,10 @@
       </p>
 <div class="itemizedlist"><ul type="disc">
 <li>
- Don't flush log information while measuring elapsed time. A <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator" title="
- Template Class stopwatch_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator</span></code></a> can make
- that possible, because it don't report until all the measures have been
- compiled and then report some statistics. Alternatively, an asynchronous
- stream would permit normal logging but by a thread other than the one
- being measured.
+ Don't flush log information while measuring elapsed time. A __stopwatch<span class="underline">accumulator</span>_ can make that possible, because
+ it don't report until all the measures have been compiled and then report
+ some statistics. Alternatively, an asynchronous stream would permit normal
+ logging but by a thread other than the one being measured.
           </li>
 <li>
             Add a mechanism to track the difference between the application time

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-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -32,7 +32,6 @@
 <dt><span class="section">ratio</span></dt>
 <dt><span class="section">chrono</span></dt>
 <dt><span class="section">Other Clocks</span></dt>
-<dt><span class="section">stopwatch</span></dt>
 </dl></div>
 <p>
         In order to test you need to do.
@@ -783,427 +782,6 @@
 </tbody>
 </table></div>
 </div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_chrono.appendices.tests.stopwatch"></a>stopwatch
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<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_min_max
- </p>
- </td>
-<td>
- <p>
- compile
- </p>
- </td>
-<td>
- <p>
- test compilation succeeds in the presence of macros min and max.
- </p>
- </td>
-<td>
- <p>
- Pass
- </p>
- </td>
-<td>
- <p>
- #
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- stopwatch_example
- </p>
- </td>
-<td>
- <p>
- run
- </p>
- </td>
-<td>
- <p>
- ...
- </p>
- </td>
-<td>
- <p>
- Pass
- </p>
- </td>
-<td>
- <p>
- #
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- scoped_stopwatch_example
- </p>
- </td>
-<td>
- <p>
- run
- </p>
- </td>
-<td>
- <p>
- ...
- </p>
- </td>
-<td>
- <p>
- Pass
- </p>
- </td>
-<td>
- <p>
- #
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- stopwatch_accumulator_example
- </p>
- </td>
-<td>
- <p>
- run
- </p>
- </td>
-<td>
- <p>
- ...
- </p>
- </td>
-<td>
- <p>
- Pass
- </p>
- </td>
-<td>
- <p>
- #
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- specific_stopwatch_accumulator_example
- </p>
- </td>
-<td>
- <p>
- run
- </p>
- </td>
-<td>
- <p>
- ...
- </p>
- </td>
-<td>
- <p>
- Pass
- </p>
- </td>
-<td>
- <p>
- #
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- stopclock_example
- </p>
- </td>
-<td>
- <p>
- run
- </p>
- </td>
-<td>
- <p>
- ...
- </p>
- </td>
-<td>
- <p>
- Pass
- </p>
- </td>
-<td>
- <p>
- #
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- stopclock_accumulator_example
- </p>
- </td>
-<td>
- <p>
- run
- </p>
- </td>
-<td>
- <p>
- ...
- </p>
- </td>
-<td>
- <p>
- Pass
- </p>
- </td>
-<td>
- <p>
- #
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- nested_stopclock_accumulator_example
- </p>
- </td>
-<td>
- <p>
- run
- </p>
- </td>
-<td>
- <p>
- ...
- </p>
- </td>
-<td>
- <p>
- Pass
- </p>
- </td>
-<td>
- <p>
- #
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- loop_stopclock_accumulator_example
- </p>
- </td>
-<td>
- <p>
- run
- </p>
- </td>
-<td>
- <p>
- ...
- </p>
- </td>
-<td>
- <p>
- Pass
- </p>
- </td>
-<td>
- <p>
- #
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- t24_hours_example
- </p>
- </td>
-<td>
- <p>
- run
- </p>
- </td>
-<td>
- <p>
- ...
- </p>
- </td>
-<td>
- <p>
- Pass
- </p>
- </td>
-<td>
- <p>
- #
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- scoped_stopclock_example
- </p>
- </td>
-<td>
- <p>
- run
- </p>
- </td>
-<td>
- <p>
- ...
- </p>
- </td>
-<td>
- <p>
- Pass
- </p>
- </td>
-<td>
- <p>
- #
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- timex
- </p>
- </td>
-<td>
- <p>
- link
- </p>
- </td>
-<td>
- <p>
- ...
- </p>
- </td>
-<td>
- <p>
- Pass
- </p>
- </td>
-<td>
- <p>
- #
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- stopclock_constructor_overload_test
- </p>
- </td>
-<td>
- <p>
- run
- </p>
- </td>
-<td>
- <p>
- ...
- </p>
- </td>
-<td>
- <p>
- Pass
- </p>
- </td>
-<td>
- <p>
- #
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- wstopclock_constructor_overload_test
- </p>
- </td>
-<td>
- <p>
- run
- </p>
- </td>
-<td>
- <p>
- ...
- </p>
- </td>
-<td>
- <p>
- Pass
- </p>
- </td>
-<td>
- <p>
- #
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/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-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -26,7 +26,7 @@
 <a name="boost_chrono.appendices.todo"></a> Appendix I: Future plans
 </h3></div></div></div>
 <a name="boost_chrono.appendices.todo.tasks_to_do_before_review"></a><h4>
-<a name="id5138000"></a>
+<a name="id5087692"></a>
         <a href="todo.html#boost_chrono.appendices.todo.tasks_to_do_before_review">Tasks
         to do before review</a>
       </h4>
@@ -42,7 +42,7 @@
           </li>
 </ul></div>
 <a name="boost_chrono.appendices.todo.for_later_releases"></a><h4>
-<a name="id5138049"></a>
+<a name="id5087741"></a>
         <a href="todo.html#boost_chrono.appendices.todo.for_later_releases">For later
         releases</a>
       </h4>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview.html 2010-09-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -86,7 +86,8 @@
       Finally, you can mentally add the following to any code fragments in this document:
     </p>
 <pre class="programlisting"><span class="comment">// Include all of Chrono files
-</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
 </pre>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/description.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/description.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/description.html 2010-09-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -93,62 +93,6 @@
           </li>
 </ul></div>
 <p>
- Knowing how long a program takes to execute is useful in both test and production
- environments. On top of the standard facilities <span class="bold"><strong>Boost.Chrono</strong></span>
- includes:
- </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
- Stopwatches: A facility to measure elapsed time with the ability to start,
- stop, suspend, or resume measurement.
- <div class="itemizedlist"><ul type="circle">
-<li>
- <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req" title="
- Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a> concept
- </li>
-<li>
- Scoped helper classes allowing to pairwise start/stop operations,
- suspend/resume and resume/suspend a <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req" title="
- Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a>.
- </li>
-<li>
- <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp.stopwatch" title="
- Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a>, model of <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req" title="
- Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a> capturing elapsed
- <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.clock" title="
- Clock Requirements"><code class="computeroutput"><span class="identifier">Clock</span></code></a> times.
- </li>
-<li>
- <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator" title="
- Template Class stopwatch_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator</span></code></a>,
- model of <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req" title="
- Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a> capturing cummulated
- elapsed Clock times.
- </li>
-</ul></div>
- </li>
-<li>
- a Stopclocks higher layer: provide a complete stopclock reporting package
- that can be invoked in a single line of code.
- <div class="itemizedlist"><ul type="circle">
-<li>
- <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
- Template Class stopwatch_reporter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_reporter</span></code></a>, convenient
- reporting to an output stream (including wide char streams) of
- the elapsed time of models of <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req" title="
- Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a> results.
- </li>
-<li>
- <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_hpp.stopclock" title="
- Template Class stopclock&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span></code></a>
- shortcut of <code class="computeroutput"><a href="../reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
- Template Class stopwatch_reporter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_reporter</span></code></a><span class="special">&lt;</span><a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp.stopwatch" title="
- Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;</span></code>
- </li>
-</ul></div>
- </li>
-</ul></div>
-<p>
         To make the timing facilities more generally useful, <span class="bold"><strong>Boost.Chrono</strong></span>
         provides a number of clocks that are thin wrappers around the operating system's
         time APIs, thereby allowing the extraction of read (wall clock) time, user
@@ -156,18 +100,15 @@
       </p>
 <div class="itemizedlist"><ul type="disc">
 <li>
- <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="
- Class process_real_cpu_clock"><code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a>, captures
+ __process_real_cpu<span class="underline">clock</span>_, captures
             real (wall clock) CPU times.
           </li>
 <li>
- <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_user_cpu_clock" title="
- Class process_user_cpu_clock"><code class="computeroutput"><span class="identifier">process_user_cpu_clock</span></code></a>, captures
+ __process_user_cpu<span class="underline">clock</span>_, captures
             user-CPU times.
           </li>
 <li>
- <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_system_cpu_clock" title="
- Class process_system_cpu_clock"><code class="computeroutput"><span class="identifier">process_system_cpu_clock</span></code></a>, captures
+ __process_system_cpu<span class="underline">clock</span>_, captures
             system-CPU times.
           </li>
 <li>
@@ -186,7 +127,7 @@
         auto with C++03 compilers.
       </p>
 <a name="boost_chrono.overview.description.caveat_emptor"></a><h4>
-<a name="id4942228"></a>
+<a name="id4949593"></a>
         <a href="description.html#boost_chrono.overview.description.caveat_emptor">Caveat emptor</a>
       </h4>
 <p>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/motivation.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/motivation.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/motivation.html 2010-09-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -27,7 +27,7 @@
 <a name="boost_chrono.overview.motivation"></a>Motivation
 </h3></div></div></div>
 <a name="boost_chrono.overview.motivation.time"></a><h4>
-<a name="id4948840"></a>
+<a name="id4948871"></a>
         <a href="motivation.html#boost_chrono.overview.motivation.time">Time</a>
       </h4>
 <p>
@@ -46,7 +46,7 @@
         of a good deal of information in this documentation.
       </p>
 <a name="boost_chrono.overview.motivation.wall_clock_versus_system_and_user_time"></a><h4>
-<a name="id4948898"></a>
+<a name="id4948928"></a>
         <a href="motivation.html#boost_chrono.overview.motivation.wall_clock_versus_system_and_user_time">Wall
         clock versus system and user time</a>
       </h4>
@@ -57,31 +57,8 @@
         clock) time, user CPU time, and system CPU time. (On POSIX-like systems,
         this relies on times(). On Windows, it relies on GetProcessTimes().)
       </p>
-<a name="boost_chrono.overview.motivation.reporting_elapsed_time"></a><h4>
-<a name="id4948929"></a>
- <a href="motivation.html#boost_chrono.overview.motivation.reporting_elapsed_time">Reporting
- elapsed time</a>
- </h4>
-<p>
- Knowing how long a program, a function or a specific code block takes to
- execute is useful in both test and production environments. <span class="bold"><strong>Boost.Chrono</strong></span>
- introduces the <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req" title="
- Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a> concept which is a mechanism
- to measure the elapsed time. A Stopwatch allows to start, stop, suspend and
- resume measuring the elapsed time. <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp.stopwatch" title="
- Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>
- is the basic model of <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req" title="
- Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a>.
- </p>
-<p>
- It is often necessary to report elapsed time on a user display or in a log
- file. <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
- Template Class stopwatch_reporter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_reporter</span></code></a>&lt;&gt; provides
- a runtime reporting mechanism for this purpose which can be invoked in just
- one line of code.
- </p>
 <a name="boost_chrono.overview.motivation.how_reliable_are_these_measures_"></a><h4>
-<a name="id4949045"></a>
+<a name="id4948959"></a>
         <a href="motivation.html#boost_chrono.overview.motivation.how_reliable_are_these_measures_">How
         reliable are these measures?</a>
       </h4>
@@ -89,10 +66,10 @@
         There are a number of things that can lead to unreliable measurement (see
         <a href="../appendices/rationale.html" title=" Appendix B: Rationale">here</a> for more details),
         but they mostly amount to reporting overhead. Boost.Chrono provides two ways
- to improve reliability of time measurements. A <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator" title="
- Template Class stopwatch_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator</span></code></a> only reports
- statistics once all measurements have been acquired, which removes reporting
- overhead from the measurements. The other approach is to use a <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req" title="
+ to improve reliability of time measurements. A __stopwatch<span class="underline">accumulator</span>_
+ only reports statistics once all measurements have been acquired, which removes
+ reporting overhead from the measurements. The other approach is to use a
+ <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req" title="
         SuspendibleClock Requirements"><code class="computeroutput"><span class="identifier">SuspendibleClock</span></code></a> such that the reporting
         overhead can be ignored by suspending elapsed time tracking during reporting
         operations

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-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -53,51 +53,6 @@
 <dt><span class="section"><a href="reference/other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_hpp">
         Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">suspendible_clock</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 </dl></dd>
-<dt><span class="section"> Stopwatches</span></dt>
-<dd><dl>
-<dt><span class="section"><a href="reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatches_hpp">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/stopwatches.html#boost_chrono.reference.stopwatches.chrono_stopwatches_hpp">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req">
- <code class="computeroutput"><span class="identifier">Stopwatch</span></code> Requirements</a></span></dt>
-<dt><span class="section"><a href="reference/stopwatches.html#boost_chrono.reference.stopwatches.lightweight_stopwatch_hpp">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">lightweight_stopwatch</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_accumulator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_scoped_hpp">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_scoped</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"> Stopwatch Reporters</span></dt>
-<dd><dl>
-<dt><span class="section"> Formatter Requirements</span></dt>
-<dt><span class="section">Formatter related traits</span></dt>
-<dt><span class="section"><a href="reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_reporter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/reporters.html#boost_chrono.reference.reporters.stopclock_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">stopclock</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/reporters.html#boost_chrono.reference.reporters.stopclock_accumulator_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">stopclock_accumulator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/reporters.html#boost_chrono.reference.reporters.scoped_stopclock_hpp">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">scoped_stopclock</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"> Stopwatch Formatters</span></dt>
-<dd><dl>
-<dt><span class="section"><a href="reference/formatters.html#boost_chrono.reference.formatters.stopwatch_formatter_hpp">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/formatters.html#boost_chrono.reference.formatters.stopwatch_accumulator_formatter_hpp">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_accumulator_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/formatters.html#boost_chrono.reference.formatters.time_formatter_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">time_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/formatters.html#boost_chrono.reference.formatters.stopwatch_accumulator_time_formatter_hpp">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_accumulator_time_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/formatters.html#boost_chrono.reference.formatters.t24_hours_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">t24_hours</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/formatters.html#boost_chrono.reference.formatters.t24_hours_formatter_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">t24_hours_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-</dl></dd>
 <dt><span class="section"> Deprecated Headers</span></dt>
 <dd><dl>
 <dt><span class="section"><a href="reference/deprecated.html#boost_chrono.reference.deprecated.timer_hpp"> Deprecated

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-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -1069,20 +1069,16 @@
           Class high_resolution_clock"><code class="computeroutput"><span class="identifier">high_resolution_clock</span></code></a>
               </li>
 <li>
- <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="
- Class process_real_cpu_clock"><code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a>
+ __process_real_cpu<span class="underline">clock</span>_
               </li>
 <li>
- <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_user_cpu_clock" title="
- Class process_user_cpu_clock"><code class="computeroutput"><span class="identifier">process_user_cpu_clock</span></code></a>
+ __process_user_cpu<span class="underline">clock</span>_
               </li>
 <li>
- <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_system_cpu_clock" title="
- Class process_system_cpu_clock"><code class="computeroutput"><span class="identifier">process_system_cpu_clock</span></code></a>
+ __process_system_cpu<span class="underline">clock</span>_
               </li>
 <li>
- <a href="other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a>
+ __thread<span class="underline">clock</span>_
               </li>
 </ul></div>
 </div>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/deprecated.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/deprecated.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/deprecated.html 2010-09-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
 <link rel="start" href="../../index.html" title="Boost.Chrono">
 <link rel="up" href="../reference.html" title=" Reference ">
-<link rel="prev" href="formatters.html" title=" Stopwatch Formatters">
+<link rel="prev" href="other_clocks.html" title=" Other clocks">
 <link rel="next" href="../appendices.html" title="Appendices">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="formatters.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../appendices.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="other_clocks.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../appendices.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -48,6 +48,9 @@
           Class <code class="computeroutput"><span class="identifier">run_timer</span></code></a></span></dt>
 </dl></dd>
 </dl></div>
+<p>
+ See Boost.Stopwatches for similar fonctionality.
+ </p>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
 <a name="boost_chrono.reference.deprecated.timer_hpp"></a><a href="deprecated.html#boost_chrono.reference.deprecated.timer_hpp" title=" Deprecated
@@ -355,7 +358,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="formatters.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../appendices.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="other_clocks.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../appendices.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/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-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -8,7 +8,7 @@
 <link rel="up" href="../reference.html" title=" Reference ">
 <link rel="prev" href="cpp0x.html" title=" Included on the C++0x
       recommendation">
-<link rel="next" href="stopwatches.html" title=" Stopwatches">
+<link rel="next" href="deprecated.html" title=" Deprecated Headers">
 </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="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="stopwatches.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<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>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -111,14 +111,12 @@
           Class <code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a>
 </h5></div></div></div>
 <p>
- <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="
- Class process_real_cpu_clock"><code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a> satisfy
+ __process_real_cpu<span class="underline">clock</span>_ satisfy
             the <a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.clock" title="
           Clock Requirements"><code class="computeroutput"><span class="identifier">Clock</span></code> requirements</a>.
           </p>
 <p>
- <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="
- Class process_real_cpu_clock"><code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a> class
+ __process_real_cpu<span class="underline">clock</span>_ class
             provides access to the real process wall-clock monotonic clock, i.e.
             the real CPU-time clock of the calling process. The process relative
             current time can be obtained by calling <code class="computeroutput"><span class="identifier">process_real_cpu_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span></code>.
@@ -142,14 +140,12 @@
           Class <code class="computeroutput"><span class="identifier">process_user_cpu_clock</span></code></a>
 </h5></div></div></div>
 <p>
- <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_user_cpu_clock" title="
- Class process_user_cpu_clock"><code class="computeroutput"><span class="identifier">process_user_cpu_clock</span></code></a> satisfy
+ __process_user_cpu<span class="underline">clock</span>_ satisfy
             the <a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.clock" title="
           Clock Requirements"><code class="computeroutput"><span class="identifier">Clock</span></code> requirements</a>.
           </p>
 <p>
- <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_user_cpu_clock" title="
- Class process_user_cpu_clock"><code class="computeroutput"><span class="identifier">process_user_cpu_clock</span></code></a> class
+ __process_user_cpu<span class="underline">clock</span>_ class
             provides access to the user CPU-time monotonic clock of the calling process.
             The process relative user current time can be obtained by calling <code class="computeroutput"><span class="identifier">process_user_cpu_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span></code>.
           </p>
@@ -172,14 +168,12 @@
           Class <code class="computeroutput"><span class="identifier">process_system_cpu_clock</span></code></a>
 </h5></div></div></div>
 <p>
- <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_system_cpu_clock" title="
- Class process_system_cpu_clock"><code class="computeroutput"><span class="identifier">process_system_cpu_clock</span></code></a> satisfy
+ __process_system_cpu<span class="underline">clock</span>_ satisfy
             the <a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.clock" title="
           Clock Requirements"><code class="computeroutput"><span class="identifier">Clock</span></code> requirements</a>.
           </p>
 <p>
- <a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_system_cpu_clock" title="
- Class process_system_cpu_clock"><code class="computeroutput"><span class="identifier">process_system_cpu_clock</span></code></a> class
+ __process_system_cpu<span class="underline">clock</span>_ class
             provides access to the system CPU-time monotonic clockof the calling
             process. The process relative system current time can be obtained by
             calling <code class="computeroutput"><span class="identifier">process_system_cpu_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span></code>.
@@ -350,16 +344,14 @@
           Class <code class="computeroutput"><span class="identifier">thread_clock</span></code></a>
 </h5></div></div></div>
 <p>
- <a href="other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a> satisfy the <a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.clock" title="
+ __thread<span class="underline">clock</span>_ satisfy the <a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.clock" title="
           Clock Requirements"><code class="computeroutput"><span class="identifier">Clock</span></code> requirements</a>.
           </p>
 <p>
- <a href="other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a> class provides
- access to the real thread wall-clock, i.e. the real CPU-time clock of
- the calling thread. The thread relative current time can be obtained
- by calling <code class="computeroutput"><span class="identifier">thread_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span></code>.
+ __thread<span class="underline">clock</span>_ class provides access
+ to the real thread wall-clock, i.e. the real CPU-time clock of the calling
+ thread. The thread relative current time can be obtained by calling
+ <code class="computeroutput"><span class="identifier">thread_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span></code>.
           </p>
 <pre class="programlisting"><span class="keyword">class</span> <span class="identifier">thread_clock</span> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
@@ -539,8 +531,7 @@
           Models of <code class="computeroutput"><span class="identifier">SuspendibleClock</span></code>:
         </p>
 <div class="itemizedlist"><ul type="disc"><li>
- <a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_hpp.suspendible_clock" title="
- Template Class suspendible_clock&lt;&gt;"><code class="computeroutput"><span class="identifier">suspendible_clock</span></code></a>]
+ __suspendible<span class="underline">clock</span>_]
             </li></ul></div>
 </div>
 <div class="section" lang="en">
@@ -620,8 +611,7 @@
             <code class="computeroutput"><span class="identifier">suspendible_clock</span><span class="special">&lt;&gt;</span></code></a></span></dt></dl></div>
 <p>
             Given a <a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.clock" title="
- Clock Requirements"><code class="computeroutput"><span class="identifier">Clock</span></code></a>, <a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_hpp.suspendible_clock" title="
- Template Class suspendible_clock&lt;&gt;"><code class="computeroutput"><span class="identifier">suspendible_clock</span></code></a> &lt; <a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.clock" title="
+ Clock Requirements"><code class="computeroutput"><span class="identifier">Clock</span></code></a>, __suspendible<span class="underline">clock</span>_ &lt; <a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.clock" title="
           Clock Requirements"><code class="computeroutput"><span class="identifier">Clock</span></code></a>&gt; is a model of <a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req" title="
         SuspendibleClock Requirements"><code class="computeroutput"><span class="identifier">SuspendibleClock</span></code></a>.
           </p>
@@ -669,7 +659,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="stopwatches.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<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>
 </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-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -43,9 +43,6 @@
 <dt><span class="section">Clocks</span></dt>
 <dt><span class="section"><a href="users_guide/tutorial.html#boost_chrono.users_guide.tutorial.time_point">Time
         Point</a></span></dt>
-<dt><span class="section"><a href="users_guide/tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks">Stopwatches
- and Stopclocks</a></span></dt>
-<dt><span class="section">Formatters</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-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -53,8 +53,6 @@
 <dd><dl>
 <dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.reporting.a_tiny_program_that_times_how_long_until_a_key_is_struck">A
           tiny program that times how long until a key is struck</a></span></dt>
-<dt><span class="section">stopclock_example.cpp</span></dt>
-<dt><span class="section">stopclock_example2.cpp</span></dt>
 <dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.reporting.time_command">time
           command</a></span></dt>
 </dl></dd>
@@ -916,8 +914,6 @@
 <div class="toc"><dl>
 <dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.reporting.a_tiny_program_that_times_how_long_until_a_key_is_struck">A
           tiny program that times how long until a key is struck</a></span></dt>
-<dt><span class="section">stopclock_example.cpp</span></dt>
-<dt><span class="section">stopclock_example2.cpp</span></dt>
 <dt><span class="section"><a href="examples.html#boost_chrono.users_guide.examples.reporting.time_command">time
           command</a></span></dt>
 </dl></div>
@@ -1018,94 +1014,6 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.users_guide.examples.reporting.stopclock_example_cpp"></a>stopclock_example.cpp
-</h5></div></div></div>
-<p>
- Here is the stopclock_example.cpp program supplied with the Boost Chrono
- library:
- </p>
-<p>
- When the <code class="computeroutput"><span class="identifier">stopclock</span><span class="special">&lt;&gt;</span>
- <span class="identifier">t</span></code> object is created, it starts
- timing. When it is destroyed at the end of the program, its destructor
- stops the time counting and displays timing information on cout.
- </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">stopclock</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">cmath</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="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_hpp.stopclock" title="
- Template Class stopclock&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock</span></code></a><span class="special">&lt;&gt;</span> <span class="identifier">t</span><span class="special">;</span>
-
- <span class="keyword">for</span> <span class="special">(</span> <span class="keyword">long</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="number">10000000</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span> <span class="special">)</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">sqrt</span><span class="special">(</span> <span class="number">123.456L</span> <span class="special">);</span> <span class="comment">// burn some time
-</span>
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- The output of this program run looks like this:
- </p>
-<pre class="programlisting"><span class="identifier">wall</span> <span class="number">0.42</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">user</span> <span class="number">0.41</span> <span class="identifier">s</span> <span class="special">+</span> <span class="identifier">system</span> <span class="number">0.00</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">total</span> <span class="identifier">cpu</span> <span class="number">0.41</span> <span class="identifier">s</span><span class="special">,</span> <span class="special">(</span><span class="number">96.3</span><span class="special">%)</span>
-</pre>
-<p>
- In other words, this program ran in 0.42 seconds as would be measured
- by a clock on the wall, the operating system charged it for 0.41 seconds
- of user CPU time and 0 seconds of system CPU time, the total of these
- two was 0.41, and that represented 96.3 percent of the wall clock time.
- </p>
-<p>
- <span class="emphasis"><em>See the source file example/stopclock_example.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.stopclock_example2_cpp"></a>stopclock_example2.cpp
-</h5></div></div></div>
-<p>
- The stopclock_example2.cpp program is the same, except that it supplies
- additional constructor arguments from the command line:
- </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">stopclock</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">cmath</span><span class="special">&gt;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">argv</span><span class="special">[]</span> <span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">format</span> <span class="special">=</span> <span class="identifier">argc</span> <span class="special">&gt;</span> <span class="number">1</span> <span class="special">?</span> <span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">:</span> <span class="string">"%t cpu seconds\n"</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">places</span> <span class="special">=</span> <span class="identifier">argc</span> <span class="special">&gt;</span> <span class="number">2</span> <span class="special">?</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">atoi</span><span class="special">(</span> <span class="identifier">argv</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">)</span> <span class="special">:</span> <span class="number">2</span><span class="special">;</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_hpp.stopclock" title="
- Template Class stopclock&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock</span></code></a><span class="special">&lt;&gt;</span> <span class="identifier">t</span><span class="special">(</span> <span class="identifier">format</span><span class="special">,</span> <span class="identifier">places</span> <span class="special">);</span>
-
- <span class="keyword">for</span> <span class="special">(</span> <span class="keyword">long</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="number">10000000</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span> <span class="special">)</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">sqrt</span><span class="special">(</span> <span class="number">123.456L</span> <span class="special">);</span> <span class="comment">// burn some time
-</span>
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Here is the output for this program for several sets of command line
- arguments:
- </p>
-<pre class="programlisting"><span class="identifier">stopclock_example2</span>
-<span class="number">0.42</span> <span class="identifier">cpu</span> <span class="identifier">seconds</span>
-
-<span class="identifier">stopclock_example2</span> <span class="string">"%w wall clock seconds\n"</span>
-<span class="number">0.41</span> <span class="identifier">wall</span> <span class="identifier">clock</span> <span class="identifier">seconds</span>
-
-<span class="identifier">stopclock_example2</span> <span class="string">"%w wall clock seconds\n"</span> <span class="number">6</span>
-<span class="number">0.421875</span> <span class="identifier">wall</span> <span class="identifier">clock</span> <span class="identifier">seconds</span>
-
-<span class="identifier">stopclock_example2</span> <span class="string">"%t total CPU seconds\n"</span> <span class="number">3</span>
-<span class="number">0.422</span> <span class="identifier">total</span> <span class="identifier">CPU</span> <span class="identifier">seconds</span>
-</pre>
-<p>
- <span class="emphasis"><em>See the source file example/stopclock_example2.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.time_command"></a><a href="examples.html#boost_chrono.users_guide.examples.reporting.time_command" title="time
           command">time
           command</a>
@@ -1144,8 +1052,7 @@
   <span class="keyword">if</span> <span class="special">(</span> <span class="identifier">verbose</span> <span class="special">)</span>
     <span class="special">{</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"command: \""</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">c_str</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">"\"\n"</span><span class="special">;</span> <span class="special">}</span>
 
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_hpp.stopclock" title="
- Template Class stopclock&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock</span></code></a><span class="special">&lt;&gt;</span> <span class="identifier">t</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">__stopclock__</span><span class="special">&lt;&gt;</span> <span class="identifier">t</span><span class="special">;</span>
 
   <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">system</span><span class="special">(</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">c_str</span><span class="special">()</span> <span class="special">);</span>
 <span class="special">}</span>

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-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -39,7 +39,7 @@
         Installing Chrono</a>
 </h4></div></div></div>
 <a name="boost_chrono.users_guide.getting_started.install.getting__emphasis_role__bold__boost_chrono__emphasis__"></a><h5>
-<a name="id4942305"></a>
+<a name="id4949670"></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="id4942376"></a>
+<a name="id4949742"></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="id4942692"></a>
+<a name="id4949784"></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="id4942763"></a>
+<a name="id4949855"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.requirements">Requirements</a>
         </h5>
 <p>
@@ -144,17 +144,18 @@
 </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="id4943020"></a>
+<a name="id4942310"></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>
         </h5>
 <p>
           In addition to link with the Boost Chrono library you need also to link
- with the Boost System library.
+ with the Boost System library. If you use Suspendibles clocks you will
+ need also with Boos Thread.
         </p>
 <a name="boost_chrono.users_guide.getting_started.install.exceptions_safety_"></a><h5>
-<a name="id4943055"></a>
+<a name="id4942346"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.exceptions_safety_">Exceptions
           safety </a>
         </h5>
@@ -163,7 +164,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="id4943082"></a>
+<a name="id4942374"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.thread_safety_">Thread
           safety </a>
         </h5>
@@ -171,7 +172,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="id4943108"></a>
+<a name="id4942399"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.tested_compilers_">Tested
           compilers </a>
         </h5>
@@ -260,8 +261,7 @@
 
 <span class="comment">// add this in the scope you want to time,
 </span><span class="comment">// at the point you want the timer to start.
-</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_hpp.stopclock" title="
- Template Class stopclock&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock</span></code></a><span class="special">&lt;&gt;</span> <span class="identifier">rt</span><span class="special">;</span>
+</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">__stopclock__</span><span class="special">&lt;&gt;</span> <span class="identifier">rt</span><span class="special">;</span>
 </pre>
 <p>
           Here is a complete program (stopclock_example.cpp):
@@ -271,8 +271,7 @@
 
 <span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
 <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_hpp.stopclock" title="
- Template Class stopclock&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock</span></code></a><span class="special">&lt;&gt;</span> <span class="identifier">t</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">__stopclock__</span><span class="special">&lt;&gt;</span> <span class="identifier">t</span><span class="special">;</span>
 
   <span class="keyword">for</span> <span class="special">(</span> <span class="keyword">long</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="number">10000000</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span> <span class="special">)</span>
     <span class="identifier">std</span><span class="special">::</span><span class="identifier">sqrt</span><span class="special">(</span> <span class="number">123.456L</span> <span class="special">);</span> <span class="comment">// burn some time

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-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -68,26 +68,6 @@
           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"><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks">Stopwatches
- and Stopclocks</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.stopwatches_accumulation_and_statistics">Stopwatches
- accumulation and statistics</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_prefix_each_report_with__boost_current_function__function_signature_">How
- can I prefix each report with <code class="computeroutput"><span class="identifier">BOOST_CURRENT_FUNCTION</span></code>
- function signature?</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_prefix_each_report_with____file_____line_____pattern_">How
- can I prefix each report with <code class="computeroutput"><span class="identifier">__FILE__</span><span class="special">[</span><span class="identifier">__LINE__</span><span class="special">]</span></code> pattern?</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.can_i_use_an_stopclock_accumulator_which_is_not_static_">Can
- I use an stopclock accumulator which is not static?</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_suspend_a_stopwatch_">How
- can I suspend a stopwatch?</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_to_get_specific_statistics_from_stopwatches_accumulator_">How
- to get specific statistics from stopwatches accumulator?</a></span></dt>
-</dl></dd>
-<dt><span class="section">Formatters</span></dt>
-<dd><dl><dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.formatters.how_can_i_make_a_specific_formatter_when_the_default_do_not_satisfy_my_expectations">How
- can I make a specific formatter when the default do not satisfy my expectations</a></span></dt></dl></dd>
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
@@ -489,7 +469,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="id4999448"></a>
+<a name="id4998910"></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>
@@ -940,10 +920,9 @@
 <p>
             You can use <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.duration_cast" title="
           Non-Member function duration_cast(duration)"><code class="computeroutput"><span class="identifier">duration_cast</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>
- to convert the <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a><code class="computeroutput"><span class="special">::</span><span class="identifier">duration</span></code> into whatever units you desire.
- This facility will round down (truncate) if an exact conversion is not
- possible. Ex:
+ to convert the __thread<span class="underline">clock</span>_<code class="computeroutput"><span class="special">::</span><span class="identifier">duration</span></code>
+ into whatever units you desire. This facility will round down (truncate)
+ if an exact conversion is not possible. Ex:
           </p>
 <pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">milliseconds</span></code></a> <span class="identifier">ms</span><span class="special">;</span>
@@ -955,8 +934,7 @@
 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ms</span><span class="special">.</span><span class="identifier">count</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">"ms\n"</span><span class="special">;</span>
 </pre>
 <p>
- As <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a><span class="special">::</span><span class="identifier">duration</span></code> is <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.duration_typedefs" title="
+ As <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">__thread_clock__</span><span class="special">::</span><span class="identifier">duration</span></code> is <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a>, we can convert
             to <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.duration_typedefs" title="
           duration typedefs"><code class="computeroutput"><span class="identifier">nanoseconds</span></code></a>, or some integral-based
@@ -988,20 +966,17 @@
             Else it will not compile.
           </p>
 <p>
- If you would like to programmatically inspect <code class="computeroutput"><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a><span class="special">::</span><span class="identifier">duration</span></code>, you can get the representation
- type with <code class="computeroutput"><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a><span class="special">::</span><span class="identifier">rep</span></code>, and the tick period with <code class="computeroutput"><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a><span class="special">::</span><span class="identifier">period</span></code> (which should be a type <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.ratio_hpp.ratio" title=" Class
+ If you would like to programmatically inspect <code class="computeroutput"><span class="identifier">__thread_clock__</span><span class="special">::</span><span class="identifier">duration</span></code>,
+ you can get the representation type with <code class="computeroutput"><span class="identifier">__thread_clock__</span><span class="special">::</span><span class="identifier">rep</span></code>,
+ and the tick period with <code class="computeroutput"><span class="identifier">__thread_clock__</span><span class="special">::</span><span class="identifier">period</span></code>
+ (which should be a type <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.ratio_hpp.ratio" title=" Class
           Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a> which has nested values
             <code class="computeroutput"><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.ratio_hpp.ratio" title=" Class
           Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">::</span><span class="identifier">num</span></code> and <code class="computeroutput"><a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.ratio_hpp.ratio" title=" Class
- Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">::</span><span class="identifier">den</span></code>). The tick period of <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a> is <code class="computeroutput"><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a><span class="special">::</span><span class="identifier">period</span><span class="special">::</span><span class="identifier">num</span> <span class="special">/</span> <a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="
- Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a><span class="special">::</span><span class="identifier">period</span><span class="special">::</span><span class="identifier">den</span></code> seconds: 1/1000000000 in this case
- (<code class="computeroutput"><span class="number">1</span></code> billionth of a second),
- stored in a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>.
+ Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">::</span><span class="identifier">den</span></code>). The tick period of __thread<span class="underline">clock</span>_ is <code class="computeroutput"><span class="identifier">__thread_clock__</span><span class="special">::</span><span class="identifier">period</span><span class="special">::</span><span class="identifier">num</span> <span class="special">/</span> <span class="identifier">__thread_clock__</span><span class="special">::</span><span class="identifier">period</span><span class="special">::</span><span class="identifier">den</span></code>
+ seconds: 1/1000000000 in this case (<code class="computeroutput"><span class="number">1</span></code>
+ billionth of a second), stored in a <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">long</span></code>.
           </p>
 <p>
             If you need to use <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.duration_cast" title="
@@ -1031,450 +1006,6 @@
 </pre>
 </div>
 </div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks" title="Stopwatches
- and Stopclocks">Stopwatches
- and Stopclocks</a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.stopwatches_accumulation_and_statistics">Stopwatches
- accumulation and statistics</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_prefix_each_report_with__boost_current_function__function_signature_">How
- can I prefix each report with <code class="computeroutput"><span class="identifier">BOOST_CURRENT_FUNCTION</span></code>
- function signature?</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_prefix_each_report_with____file_____line_____pattern_">How
- can I prefix each report with <code class="computeroutput"><span class="identifier">__FILE__</span><span class="special">[</span><span class="identifier">__LINE__</span><span class="special">]</span></code> pattern?</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.can_i_use_an_stopclock_accumulator_which_is_not_static_">Can
- I use an stopclock accumulator which is not static?</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_suspend_a_stopwatch_">How
- can I suspend a stopwatch?</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_to_get_specific_statistics_from_stopwatches_accumulator_">How
- to get specific statistics from stopwatches accumulator?</a></span></dt>
-</dl></div>
-<p>
- Knowing how long a program, a function or a specific block takes to execute
- is useful in both test and production environments. <span class="bold"><strong>Boost.Chrono</strong></span>
- introduces the <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req" title="
- Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a> concept which captures
- the mechanism to measure the elapsed time. A <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req" title="
- Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a> allows to <code class="computeroutput"><span class="identifier">start</span></code>, <code class="computeroutput"><span class="identifier">stop</span></code>,
- <code class="computeroutput"><span class="identifier">suspend</span></code> and <code class="computeroutput"><span class="identifier">resume</span></code> measuring the elapsed time. <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp.stopwatch" title="
- Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code>
- is the basic model of <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_req" title="
- Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a> allowing to make a single
- measure.
- </p>
-<p>
- At the user level, the main use case of measuring the elapsed time is to
- report these measures on the display. <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
- Template Class stopwatch_reporter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_reporter</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code> provides a run time reporting package
- that can be invoked in a single line of code to report the usage of a
- <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.clock" title="
- Clock Requirements"><code class="computeroutput"><span class="identifier">Clock</span></code></a>. For example
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
-<span class="keyword">int</span> <span class="identifier">f1</span><span class="special">(</span><span class="keyword">long</span> <span class="identifier">j</span><span class="special">)</span> <span class="special">{</span>
- <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
- Template Class stopwatch_reporter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_reporter</span></code></a><span class="special">&lt;</span><a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp.stopwatch" title="
- Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a><span class="special">&lt;&gt;</span> <span class="special">&gt;</span> <span class="identifier">_</span><span class="special">;</span>
-
- <span class="keyword">for</span> <span class="special">(</span> <span class="keyword">long</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">j</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span> <span class="special">)</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">sqrt</span><span class="special">(</span> <span class="number">123.456L</span> <span class="special">);</span> <span class="comment">// burn some time
-</span>
- <span class="keyword">return</span> <span class="number">0</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="identifier">f1</span><span class="special">(</span><span class="number">100000</span><span class="special">);</span>
- <span class="identifier">f1</span><span class="special">(</span><span class="number">200000</span><span class="special">);</span>
- <span class="identifier">f1</span><span class="special">(</span><span class="number">300000</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>
- Will produce the following output
- </p>
-<pre class="programlisting"><span class="number">0.006</span><span class="identifier">s</span>
-<span class="number">0.011</span><span class="identifier">s</span>
-<span class="number">0.017</span><span class="identifier">s</span>
-</pre>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.stopwatches_accumulation_and_statistics"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.stopwatches_accumulation_and_statistics" title="Stopwatches
- accumulation and statistics">Stopwatches
- accumulation and statistics</a>
-</h5></div></div></div>
-<p>
- The preceding stopwatch manage only with a measure. It is also interesting
- to have an statisitical view of these times, for example the sum, min,
- max and mean. <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator" title="
- Template Class stopwatch_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator</span></code></a><code class="computeroutput"><span class="special">&lt;&gt;</span></code> associates an accumulator with
- a <a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp.stopwatch" title="
- Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a>, so we are able to
- retrieve any statistical feature Boost.Accumulator provides.
- </p>
-<p>
- For example
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
-<span class="keyword">int</span> <span class="identifier">f1</span><span class="special">(</span><span class="keyword">long</span> <span class="identifier">j</span><span class="special">)</span> <span class="special">{</span>
- <span class="keyword">static</span> <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
- Template Class stopwatch_reporter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_reporter</span></code></a><span class="special">&lt;</span><a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator" title="
- Template Class stopwatch_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator</span></code></a><span class="special">&lt;&gt;</span> <span class="special">&gt;</span> <span class="identifier">sw</span><span class="special">;</span>
- <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
- Template Class stopwatch_reporter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_reporter</span></code></a><span class="special">&lt;</span><a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator" title="
- Template Class stopwatch_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator</span></code></a><span class="special">&lt;&gt;</span> <span class="special">&gt;::</span><span class="identifier">scoped_run</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">sw</span><span class="special">);</span>
-
- <span class="keyword">for</span> <span class="special">(</span> <span class="keyword">long</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">j</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span> <span class="special">)</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">sqrt</span><span class="special">(</span> <span class="number">123.456L</span> <span class="special">);</span> <span class="comment">// burn some time
-</span>
- <span class="keyword">return</span> <span class="number">0</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="identifier">f1</span><span class="special">(</span><span class="number">100000</span><span class="special">);</span>
- <span class="identifier">f1</span><span class="special">(</span><span class="number">200000</span><span class="special">);</span>
- <span class="identifier">f1</span><span class="special">(</span><span class="number">300000</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>
- Will produce the following output
- </p>
-<pre class="programlisting"><span class="number">3</span> <span class="identifier">times</span><span class="special">,</span> <span class="identifier">sum</span><span class="special">=</span><span class="number">0.034</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">min</span><span class="special">=</span><span class="number">0.006</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">max</span><span class="special">=</span><span class="number">0.017</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">mean</span><span class="special">=</span><span class="number">0.011</span><span class="identifier">s</span>
-</pre>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_prefix_each_report_with__boost_current_function__function_signature_"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_prefix_each_report_with__boost_current_function__function_signature_" title="How
- can I prefix each report with BOOST_CURRENT_FUNCTION
- function signature?">How
- can I prefix each report with <code class="computeroutput"><span class="identifier">BOOST_CURRENT_FUNCTION</span></code>
- function signature?</a>
-</h5></div></div></div>
-<p>
- You will need to give a specific format to your <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_hpp.stopclock" title="
- Template Class stopclock&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock</span></code></a>. You just need to
- concatenate your specific pattern to the default_format of the formatter.
- </p>
-<p>
- For example, for a <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator" title="
- Template Class stopclock_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code></a> the default
- formatter is <a href="../reference/formatters.html#boost_chrono.reference.formatters.stopwatch_accumulator_formatter_hpp.basic_stopwatch_accumulator_formatter" title="
- Template Class basic_stopwatch_accumulator_formatter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator_formatter</span></code></a>,
- you will need to do something like:
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator" title="
- Template Class stopclock_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code></a><span class="special">&lt;&gt;</span> <span class="identifier">acc</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="identifier">BOOST_CURRENT_FUNCTION</span><span class="special">)</span> <span class="special">+</span> <span class="string">": "</span>
- <span class="special">+</span> <a href="../reference/formatters.html#boost_chrono.reference.formatters.stopwatch_accumulator_formatter_hpp.basic_stopwatch_accumulator_formatter" title="
- Template Class basic_stopwatch_accumulator_formatter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator_formatter</span></code></a><span class="special">::</span><span class="identifier">default_format</span><span class="special">()</span>
-<span class="special">);</span>
-<a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator" title="
- Template Class stopclock_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code></a><span class="special">&lt;&gt;::</span><span class="identifier">scoped_run</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">acc</span><span class="special">);</span>
-</pre>
-<p>
- Some of you will say that this is too long to type just to get the a
- report. You can of course define your own macro as
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">REPORT_FUNCTION_ACCUMULATED_LIFETIME</span><span class="special">\</span>
- <span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator" title="
- Template Class stopclock_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code></a><span class="special">&lt;&gt;</span> <span class="special">\</span>
- <span class="identifier">BOOST_JOIN</span><span class="special">(</span><span class="identifier">_accumulator_</span><span class="special">,</span> <span class="identifier">__LINE__</span><span class="special">)</span><span class="identifier">_</span>
- <span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="identifier">BOOST_CURRENT_FUNCTION</span><span class="special">)</span> <span class="special">+</span> <span class="string">": "</span> <span class="special">+</span> <span class="special">\</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/formatters.html#boost_chrono.reference.formatters.stopwatch_accumulator_formatter_hpp.basic_stopwatch_accumulator_formatter" title="
- Template Class basic_stopwatch_accumulator_formatter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator_formatter</span></code></a><span class="special">::</span><span class="identifier">default_format</span><span class="special">()</span> <span class="special">\</span>
- <span class="special">);</span> <span class="special">\</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator" title="
- Template Class stopclock_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code></a><span class="special">&lt;&gt;::</span><span class="identifier">scoped_run</span> <span class="special">\</span>
- <span class="identifier">BOOST_JOIN</span><span class="special">(</span><span class="identifier">_accumulator_run_</span><span class="special">,</span> <span class="identifier">__LINE__</span><span class="special">)</span> <span class="special">\</span>
- <span class="special">(</span><span class="identifier">BOOST_JOIN</span><span class="special">(</span><span class="identifier">_accumulator_</span><span class="special">,</span> <span class="identifier">__LINE__</span><span class="special">))</span>
-</pre>
-<p>
- With this macro you will just have to write
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">foo</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">REPORT_FUNCTION_ACCUMULATED_LIFETIME</span><span class="special">()</span> <span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">milliseconds</span><span class="special">(</span><span class="number">100</span><span class="special">));</span>
- <span class="comment">// ...
-</span><span class="special">}</span>
-</pre>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_prefix_each_report_with____file_____line_____pattern_"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_prefix_each_report_with____file_____line_____pattern_" title="How
- can I prefix each report with __FILE__[__LINE__] pattern?">How
- can I prefix each report with <code class="computeroutput"><span class="identifier">__FILE__</span><span class="special">[</span><span class="identifier">__LINE__</span><span class="special">]</span></code> pattern?</a>
-</h5></div></div></div>
-<p>
- When you want to prefix with the <code class="computeroutput"><span class="identifier">__FILE__</span><span class="special">[</span><span class="identifier">__LINE__</span><span class="special">]</span></code> pattern you can follow the same technique
- as described below:
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">REPORT_LINE_ACCUMULATED_LIFETIME</span> <span class="special">\</span>
- <span class="keyword">static</span> <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator" title="
- Template Class stopclock_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code></a><span class="special">&lt;&gt;</span>
- <span class="identifier">BOOST_JOIN</span><span class="special">(</span><span class="identifier">_accumulator_</span><span class="special">,</span> <span class="identifier">__LINE__</span><span class="special">)</span> <span class="special">\</span>
- <span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="identifier">__FILE__</span><span class="special">)</span> <span class="special">+</span> <span class="string">"["</span> <span class="special">+</span> <span class="identifier">BOOST_STRINGIZE</span><span class="special">(</span><span class="identifier">__LINE__</span><span class="special">)</span> <span class="special">+</span> <span class="string">"] "</span>
- <span class="special">+</span> <a href="../reference/formatters.html#boost_chrono.reference.formatters.stopwatch_accumulator_formatter_hpp.basic_stopwatch_accumulator_formatter" title="
- Template Class basic_stopwatch_accumulator_formatter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator_formatter</span></code></a><span class="special">::</span><span class="identifier">default_format</span><span class="special">()</span> <span class="special">\</span>
- <span class="special">);</span> <span class="special">\</span>
- <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator" title="
- Template Class stopclock_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code></a><span class="special">&lt;&gt;::</span><span class="identifier">scoped_run</span> <span class="special">\</span>
- <span class="identifier">BOOST_JOIN</span><span class="special">(</span><span class="identifier">_accumulator_run_</span><span class="special">,</span> <span class="identifier">__LINE__</span><span class="special">)</span>
- <span class="special">(</span><span class="identifier">BOOST_JOIN</span><span class="special">(</span><span class="identifier">_accumulator_</span><span class="special">,</span> <span class="identifier">__LINE__</span><span class="special">))</span>
-</pre>
-<p>
- Now you can mix fcntion and line reports as follows
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">foo</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">REPORT_FUNCTION_ACCUMULATED_LIFETIME</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">milliseconds</span><span class="special">(</span><span class="number">100</span><span class="special">));</span>
- <span class="special">{</span>
- <span class="identifier">REPORT_LINE_ACCUMULATED_LIFETIME</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">milliseconds</span><span class="special">(</span><span class="number">200</span><span class="special">));</span>
- <span class="special">}</span>
-
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.can_i_use_an_stopclock_accumulator_which_is_not_static_"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.can_i_use_an_stopclock_accumulator_which_is_not_static_" title="Can
- I use an stopclock accumulator which is not static?">Can
- I use an stopclock accumulator which is not static?</a>
-</h5></div></div></div>
-<p>
- The typical example of stopclock_accumulator is to get statistical measures
- of the time a function takes for each one of its calls. You can also
- use <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator" title="
- Template Class stopclock_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code></a> to get
- statistical measures of the time a given loop takes for each one of its
- laps.
- </p>
-<pre class="programlisting"><a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator" title="
- Template Class stopclock_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code></a><span class="special">&lt;&gt;</span> <span class="identifier">acc</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="identifier">__FILE__</span><span class="special">)</span> <span class="special">+</span> <span class="string">"["</span> <span class="special">+</span> <span class="identifier">BOOST_STRINGIZE</span><span class="special">(</span><span class="identifier">__LINE__</span><span class="special">)</span> <span class="special">+</span> <span class="string">"] "</span>
- <span class="special">+</span> <a href="../reference/formatters.html#boost_chrono.reference.formatters.stopwatch_accumulator_formatter_hpp.basic_stopwatch_accumulator_formatter" title="
- Template Class basic_stopwatch_accumulator_formatter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator_formatter</span></code></a><span class="special">::</span><span class="identifier">default_format</span><span class="special">()</span>
-<span class="special">);</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span><span class="special">=</span><span class="number">0</span><span class="special">;</span> <span class="identifier">i</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">;</span> <span class="identifier">i</span><span class="special">++)</span> <span class="special">{</span>
- <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator" title="
- Template Class stopclock_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code></a><span class="special">&lt;&gt;::</span><span class="identifier">scoped_run</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">acc</span><span class="special">);</span>
- <span class="comment">// ...
-</span><span class="special">}</span>
-</pre>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_suspend_a_stopwatch_"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_suspend_a_stopwatch_" title="How
- can I suspend a stopwatch?">How
- can I suspend a stopwatch?</a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch</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">cmath</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">thread</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">res</span><span class="special">;</span>
-<span class="keyword">void</span> <span class="identifier">f1</span><span class="special">(</span><span class="keyword">long</span> <span class="identifier">j</span><span class="special">)</span>
-<span class="special">{</span>
- <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
- Template Class stopwatch_reporter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_reporter</span></code></a><span class="special">&lt;</span><a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp.stopwatch" title="
- Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a><span class="special">&lt;&gt;</span> <span class="special">&gt;::</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">BOOST_CHRONO_STOPWATCH_FUNCTION_FORMAT</span><span class="special">);</span>
- <span class="keyword">for</span> <span class="special">(</span><span class="keyword">long</span> <span class="identifier">i</span> <span class="special">=</span><span class="number">0</span><span class="special">;</span> <span class="identifier">i</span><span class="special">&lt;</span> <span class="identifier">j</span><span class="special">;</span> <span class="identifier">i</span><span class="special">+=</span><span class="number">1</span><span class="special">)</span>
- <span class="identifier">res</span><span class="special">+=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">sqrt</span><span class="special">(</span> <span class="identifier">res</span><span class="special">+</span><span class="number">123.456L</span><span class="special">+</span><span class="identifier">i</span> <span class="special">);</span> <span class="comment">// burn some time
-</span> <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
- Template Class stopwatch_reporter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_reporter</span></code></a><span class="special">&lt;</span><a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp.stopwatch" title="
- Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a><span class="special">&lt;&gt;</span> <span class="special">&gt;::</span><span class="identifier">scoped_suspend</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">_</span><span class="special">);</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">milliseconds</span><span class="special">(</span><span class="number">200</span><span class="special">));</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_to_get_specific_statistics_from_stopwatches_accumulator_"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.stopwatches_and_stopclocks.how_to_get_specific_statistics_from_stopwatches_accumulator_" title="How
- to get specific statistics from stopwatches accumulator?">How
- to get specific statistics from stopwatches accumulator?</a>
-</h5></div></div></div>
-<p>
- There are two use cases that coul need to change the statistics associated
- to a stopwatches accumulator:
- </p>
-<div class="orderedlist"><ol type="1">
-<li>
- We want to reduce the default reporting and we preffer to adapt the
- statistics to the reporting
- </li>
-<li>
- We want to report other statistics of the samples
- </li>
-</ol></div>
-<p>
- For the first case we just need to change the accumulator_set and the
- format we want to get. Imagin we want to get only the count, sam and
- mean statistics, no need to calculate the min neither the max.
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">accumulators</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
- Template Class stopwatch_reporter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_reporter</span></code></a><span class="special">&lt;</span><a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator" title="
- Template Class stopwatch_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator</span></code></a><span class="special">&lt;</span><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="
- Class process_real_cpu_clock"><code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a><span class="special">,</span>
- <span class="identifier">accumulator_set</span><span class="special">&lt;</span><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="
- Class process_real_cpu_clock"><code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a><span class="special">::</span><span class="identifier">rep</span><span class="special">,</span>
- <span class="identifier">features</span><span class="special">&lt;</span>
- <span class="identifier">tag</span><span class="special">::</span><span class="identifier">count</span><span class="special">,</span>
- <span class="identifier">tag</span><span class="special">::</span><span class="identifier">sum</span><span class="special">,</span>
- <span class="identifier">tag</span><span class="special">::</span><span class="identifier">mean</span>
- <span class="special">&gt;</span>
- <span class="special">&gt;</span>
- <span class="special">&gt;</span> <span class="identifier">my_stopwatch_accumulator_reporter</span><span class="special">;</span>
-
-<span class="keyword">int</span> <span class="identifier">f1</span><span class="special">(</span><span class="keyword">long</span> <span class="identifier">j</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">static</span> <span class="identifier">my_stopwatch_accumulator_reporter</span> <span class="identifier">acc</span><span class="special">(</span><span class="string">"%c times, sum=%ss, mean=%as\n"</span><span class="special">);</span>
- <span class="identifier">my_stopwatch_accumulator_reporter</span><span class="special">::</span><span class="identifier">scoped_run</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">acc</span><span class="special">);</span>
-
- <span class="keyword">for</span> <span class="special">(</span> <span class="keyword">long</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">j</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span> <span class="special">)</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">sqrt</span><span class="special">(</span> <span class="number">123.456L</span> <span class="special">);</span> <span class="comment">// burn some time
-</span>
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- But what would hapend if we haven't forced the format:
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">my_stopwatch_accumulator_reporter</span> <span class="identifier">acc</span><span class="special">;</span>
-<span class="identifier">my_stopwatch_accumulator_reporter</span><span class="special">::</span><span class="identifier">scoped_run</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">acc</span><span class="special">);</span>
-</pre>
-<p>
- Unfortunately there is no error at compile time. Fortunately, the run-time
- execution is not undefined and will return 0 for the missing statistics.
- </p>
-</div>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_chrono.users_guide.tutorial.formatters"></a>Formatters
-</h4></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="tutorial.html#boost_chrono.users_guide.tutorial.formatters.how_can_i_make_a_specific_formatter_when_the_default_do_not_satisfy_my_expectations">How
- can I make a specific formatter when the default do not satisfy my expectations</a></span></dt></dl></div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_chrono.users_guide.tutorial.formatters.how_can_i_make_a_specific_formatter_when_the_default_do_not_satisfy_my_expectations"></a><a href="tutorial.html#boost_chrono.users_guide.tutorial.formatters.how_can_i_make_a_specific_formatter_when_the_default_do_not_satisfy_my_expectations" title="How
- can I make a specific formatter when the default do not satisfy my expectations">How
- can I make a specific formatter when the default do not satisfy my expectations</a>
-</h5></div></div></div>
-<p>
- Imagine then that we want to report the <code class="computeroutput"><span class="identifier">tag</span><span class="special">::</span><span class="identifier">variance</span><span class="special">(</span><span class="identifier">lazy</span><span class="special">)</span></code>. We will need to include the specific
- accumulator file
- </p>
-<pre class="programlisting"><span class="special">...</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">accumulators</span><span class="special">/</span><span class="identifier">statistics</span><span class="special">/</span><span class="identifier">variance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">...</span>
-<span class="keyword">typedef</span> <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
- Template Class stopwatch_reporter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_reporter</span></code></a><span class="special">&lt;</span><a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator" title="
- Template Class stopwatch_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator</span></code></a><span class="special">&lt;</span><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="
- Class process_real_cpu_clock"><code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a><span class="special">,</span>
- <span class="identifier">accumulator_set</span><span class="special">&lt;</span><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="
- Class process_real_cpu_clock"><code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a><span class="special">::</span><span class="identifier">rep</span><span class="special">,</span>
- <span class="identifier">features</span><span class="special">&lt;</span>
- <span class="identifier">tag</span><span class="special">::</span><span class="identifier">count</span><span class="special">,</span>
- <span class="identifier">tag</span><span class="special">::</span><span class="identifier">sum</span><span class="special">,</span>
- <span class="identifier">tag</span><span class="special">::</span><span class="identifier">mean</span><span class="special">,</span>
- <span class="identifier">tag</span><span class="special">::</span><span class="identifier">variance</span><span class="special">(</span><span class="identifier">lazy</span><span class="special">)</span>
- <span class="special">&gt;</span>
- <span class="special">&gt;</span>
-<span class="special">&gt;</span> <span class="identifier">my_stopwatch_accumulator_reporter</span><span class="special">;</span>
-</pre>
-<p>
- But what happens if we add new statistics to the accumulator_set that
- are not taken in account by the default formatter? These statistics will
- simply be ignored. So we will need to define our own accumulator formatter.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <a href="../reference/reporters.html#boost_chrono.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
- Template Class stopwatch_reporter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_reporter</span></code></a><span class="special">&lt;</span><a href="../reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator" title="
- Template Class stopwatch_accumulator&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator</span></code></a><span class="special">&lt;</span><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="
- Class process_real_cpu_clock"><code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a><span class="special">,</span>
- <span class="identifier">accumulator_set</span><span class="special">&lt;</span><a href="../reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="
- Class process_real_cpu_clock"><code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a><span class="special">::</span><span class="identifier">rep</span><span class="special">,</span>
- <span class="identifier">features</span><span class="special">&lt;</span>
- <span class="identifier">tag</span><span class="special">::</span><span class="identifier">count</span><span class="special">,</span>
- <span class="identifier">tag</span><span class="special">::</span><span class="identifier">sum</span><span class="special">,</span>
- <span class="identifier">tag</span><span class="special">::</span><span class="identifier">mean</span><span class="special">,</span>
- <span class="identifier">tag</span><span class="special">::</span><span class="identifier">variance</span><span class="special">(</span><span class="identifier">lazy</span><span class="special">)</span>
- <span class="special">&gt;</span>
- <span class="special">&gt;,</span>
- <span class="identifier">my_stopwatch_accumulator_formatter</span>
-<span class="special">&gt;</span> <span class="identifier">my_stopwatch_accumulator_reporter</span><span class="special">;</span>
-</pre>
-<p>
- Next follow the definition of a formatter taking care of count, sum,
- mean and variance
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">my_stopwatch_accumulator_formatter</span> <span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">string_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="keyword">char</span> <span class="identifier">char_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="identifier">ostream_type</span><span class="special">;</span>
-
- <span class="keyword">static</span> <span class="identifier">ostream_type</span> <span class="special">&amp;</span> <span class="identifier">default_os</span><span class="special">()</span> <span class="special">{</span><span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;}</span>
- <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">char_type</span><span class="special">*</span> <span class="identifier">default_format</span><span class="special">()</span> <span class="special">{</span>
- <span class="keyword">return</span> <span class="string">"%c times, sum=%ss, mean=%as, variance=%vs\n"</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="keyword">static</span> <span class="keyword">int</span> <span class="identifier">default_places</span><span class="special">()</span> <span class="special">{</span> <span class="keyword">return</span> <span class="number">3</span><span class="special">;</span> <span class="special">}</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Stopwatch</span> <span class="special">&gt;</span>
- <span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">show_time</span><span class="special">(</span> <span class="identifier">Stopwatch</span> <span class="special">&amp;</span> <span class="identifier">stopwatch_</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">char_type</span><span class="special">*</span> <span class="identifier">format</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="identifier">ostream_type</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Stopwatch</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">duration_t</span><span class="special">;</span>
- <span class="keyword">typename</span> <span class="identifier">Stopwatch</span><span class="special">::</span><span class="identifier">accumulator</span> <span class="identifier">accumulator</span><span class="special">&amp;</span> <span class="identifier">acc</span> <span class="special">=</span> <span class="identifier">stopwatch_</span><span class="special">.</span><span class="identifier">accumulated</span><span class="special">();</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">io</span><span class="special">::</span><span class="identifier">ios_flags_saver</span> <span class="identifier">ifs</span><span class="special">(</span> <span class="identifier">os</span> <span class="special">);</span>
- <span class="identifier">os</span><span class="special">.</span><span class="identifier">setf</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">fixed</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">floatfield</span> <span class="special">);</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">io</span><span class="special">::</span><span class="identifier">ios_precision_saver</span> <span class="identifier">ips</span><span class="special">(</span> <span class="identifier">os</span> <span class="special">);</span>
- <span class="identifier">os</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span> <span class="identifier">places</span> <span class="special">);</span>
-
- <span class="keyword">for</span> <span class="special">(</span> <span class="special">;</span> <span class="special">*</span><span class="identifier">format</span><span class="special">;</span> <span class="special">++</span><span class="identifier">format</span> <span class="special">)</span> <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">format</span> <span class="special">!=</span> <span class="char">'%'</span> <span class="special">||</span> <span class="special">!*(</span><span class="identifier">format</span><span class="special">+</span><span class="number">1</span><span class="special">)</span> <span class="special">||</span> <span class="special">!</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">strchr</span><span class="special">(</span><span class="string">"acsv"</span><span class="special">,</span> <span class="special">*(</span><span class="identifier">format</span><span class="special">+</span><span class="number">1</span><span class="special">))</span> <span class="special">)</span> <span class="special">{</span>
- <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">format</span><span class="special">;</span>
- <span class="special">}</span> <span class="keyword">else</span> <span class="special">{</span>
- <span class="special">++</span><span class="identifier">format</span><span class="special">;</span>
- <span class="keyword">switch</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">format</span> <span class="special">)</span> <span class="special">{</span>
- <span class="keyword">case</span> <span class="char">'s'</span><span class="special">:</span>
- <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span>
- <span class="identifier">duration_t</span><span class="special">(</span><span class="identifier">accumulators</span><span class="special">::</span><span class="identifier">sum</span><span class="special">(</span><span class="identifier">acc</span><span class="special">))).</span><span class="identifier">count</span><span class="special">();</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="keyword">case</span> <span class="char">'a'</span><span class="special">:</span>
- <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">accumulators</span><span class="special">::</span><span class="identifier">count</span><span class="special">(</span><span class="identifier">acc</span><span class="special">)&gt;</span><span class="number">0</span><span class="special">)</span>
- <span class="special">?</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">duration_t</span><span class="special">(</span>
- <span class="identifier">duration_t</span><span class="special">::</span><span class="identifier">rep</span><span class="special">(</span><span class="identifier">accumulators</span><span class="special">::</span><span class="identifier">mean</span><span class="special">(</span><span class="identifier">acc</span><span class="special">)))).</span><span class="identifier">count</span><span class="special">()</span>
- <span class="special">:</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="keyword">case</span> <span class="char">'c'</span><span class="special">:</span>
- <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">accumulators</span><span class="special">::</span><span class="identifier">count</span><span class="special">(</span><span class="identifier">acc</span><span class="special">);</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="keyword">case</span> <span class="char">'v'</span><span class="special">:</span>
- <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">accumulators</span><span class="special">::</span><span class="identifier">count</span><span class="special">(</span><span class="identifier">acc</span><span class="special">)&gt;</span><span class="number">0</span><span class="special">)</span>
- <span class="special">?</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span> <a href="../reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.duration" title="
- Class template duration&lt;&gt;"><code class="computeroutput"><span class="identifier">duration</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">duration_t</span><span class="special">(</span>
- <span class="identifier">duration_t</span><span class="special">::</span><span class="identifier">rep</span><span class="special">(</span><span class="identifier">accumulators</span><span class="special">::</span><span class="identifier">variance</span><span class="special">(</span><span class="identifier">acc</span><span class="special">)))).</span><span class="identifier">count</span><span class="special">()</span>
- <span class="special">:</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="keyword">default</span><span class="special">:</span>
- <span class="identifier">assert</span><span class="special">(</span><span class="number">0</span> <span class="special">&amp;&amp;</span> <span class="string">"my_stopwatch_accumulator_formatter internal logic error"</span><span class="special">);</span>
- <span class="special">}</span>
- <span class="special">}</span>
- <span class="special">}</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-</div>
-</div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

Modified: sandbox/chrono/libs/chrono/doc/html/index.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/index.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/index.html 2010-09-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -66,9 +66,6 @@
 <dt><span class="section"><a href="boost_chrono/reference/cpp0x.html"> Included on the C++0x
       recommendation</a></span></dt>
 <dt><span class="section"> Other clocks</span></dt>
-<dt><span class="section"> Stopwatches</span></dt>
-<dt><span class="section"> Stopwatch Reporters</span></dt>
-<dt><span class="section"> Stopwatch Formatters</span></dt>
 <dt><span class="section"> Deprecated Headers</span></dt>
 </dl></dd>
 <dt><span class="section">Appendices</span></dt>
@@ -98,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: August 30, 2010 at 21:46:16 GMT</small></p></td>
+<td align="left"><p><small>Last revised: September 03, 2010 at 17:04:21 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: sandbox/chrono/libs/chrono/doc/html/standalone_HTML.manifest
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/standalone_HTML.manifest (original)
+++ sandbox/chrono/libs/chrono/doc/html/standalone_HTML.manifest 2010-09-03 15:43:17 EDT (Fri, 03 Sep 2010)
@@ -10,9 +10,6 @@
 boost_chrono/reference.html
 boost_chrono/reference/cpp0x.html
 boost_chrono/reference/other_clocks.html
-boost_chrono/reference/stopwatches.html
-boost_chrono/reference/reporters.html
-boost_chrono/reference/formatters.html
 boost_chrono/reference/deprecated.html
 boost_chrono/appendices.html
 boost_chrono/appendices/history.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