Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r65220 - in sandbox/chrono/libs/stopwatches/doc/html: . boost_stopwatches boost_stopwatches/appendices boost_stopwatches/examples boost_stopwatches/overview boost_stopwatches/reference boost_stopwatches/users_guide
From: vicente.botet_at_[hidden]
Date: 2010-09-03 13:25:15


Author: viboes
Date: 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
New Revision: 65220
URL: http://svn.boost.org/trac/boost/changeset/65220

Log:
Added stopwatches doc

Added:
   sandbox/chrono/libs/stopwatches/doc/html/
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/acknowledgements.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/faq.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/history.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/implementation.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/perf.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/rationale.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/tests.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/tickets.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/todo.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/examples/
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/examples.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/examples/reporting.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/overview/
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/overview.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/overview/description.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/overview/motivation.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/reference/
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/reference.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/reference/formatters.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/reference/reporters.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/reference/stopwatches.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/users_guide/
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/users_guide.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/users_guide/getting_started.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/users_guide/tutorial.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/index.html (contents, props changed)
   sandbox/chrono/libs/stopwatches/doc/html/standalone_HTML.manifest (contents, props changed)

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Appendices</title>
+<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../index.html" title="Boost.Stopwatches">
+<link rel="prev" href="reference/formatters.html" title=" Stopwatch Formatters">
+<link rel="next" href="appendices/history.html" title=" Appendix A: History">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference/formatters.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="appendices/history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_stopwatches.appendices"></a>Appendices
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> Appendix A: History</span></dt>
+<dd><dl>
+<dt><span class="section">Version 0.5.0, September 10, 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_stopwatches.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>
+<dt><span class="section"><a href="appendices/history.html#boost_stopwatches.appendices.history.__version_0_4_4__february_22__2010_____warning_fixes_"><span class="bold"><strong>Version 0.4.4, February 22, 2010</strong></span> <span class="emphasis"><em>Warning
+ fixes</em></span></a></span></dt>
+<dt><span class="section"><a href="appendices/history.html#boost_stopwatches.appendices.history.__version_0_4_3__june_18__2010____missing_file_fixe_"><span class="bold"><strong>Version 0.4.3, June 18, 2010</strong></span> <span class="emphasis"><em>Missing file
+ fixe</em></span></a></span></dt>
+<dt><span class="section">Version 0.4.2, June 18, 2010 Packaging fixe</span></dt>
+<dt><span class="section"><a href="appendices/history.html#boost_stopwatches.appendices.history.__version_0_4_1__june_17__2010____added_thread_clock_implementation_on_windows_"><span class="bold"><strong>Version 0.4.1, June 17, 2010</strong></span> <span class="emphasis"><em>Added thread
+ clock implementation on Windows</em></span></a></span></dt>
+<dt><span class="section"><a href="appendices/history.html#boost_stopwatches.appendices.history.__version_0_4__february_28__2010____new_thread_clock_and_suspendible_clock__"><span class="bold"><strong>Version 0.4, February 28, 2010</strong></span> <span class="emphasis"><em>New thread
+ clock and Suspendible clock </em></span></a></span></dt>
+<dt><span class="section"><a href="appendices/history.html#boost_stopwatches.appendices.history.__version_0_3_2__january_25__2010____new_frequency__lifetime_and_percentage_stopwatch_accumulator_features_"><span class="bold"><strong>Version 0.3.2, January 25, 2010</strong></span> <span class="emphasis"><em>New frequency,
+ lifetime and percentage stopwatch_accumulator features</em></span></a></span></dt>
+<dt><span class="section"><a href="appendices/history.html#boost_stopwatches.appendices.history.__version_0_3_1__january_20__2010____new_support_for_wide_characters_"><span class="bold"><strong>Version 0.3.1, January 20, 2010</strong></span> <span class="emphasis"><em>New support
+ for wide characters</em></span></a></span></dt>
+<dt><span class="section"><a href="appendices/history.html#boost_stopwatches.appendices.history.__version_0_3_0__january_17__2010____new_stopwatch_stopclock_feature___bug_fixes_"><span class="bold"><strong>Version 0.3.0, January 17, 2010</strong></span> <span class="emphasis"><em>New stopwatch/stopclock
+ feature + Bug fixes</em></span></a></span></dt>
+<dt><span class="section">Version 0.2.1, December 13, 2009 Bug fixes</span></dt>
+<dt><span class="section"><a href="appendices/history.html#boost_stopwatches.appendices.history.__version_0_2_0__december_8__2009______features___bug_fixes___updated_documentation_"><span class="bold"><strong>Version 0.2.0, December 8, 2009</strong></span> <span class="emphasis"><em>+ Features
+ + Bug fixes + Updated documentation</em></span></a></span></dt>
+<dt><span class="section"><a href="appendices/history.html#boost_stopwatches.appendices.history.__version_0_1_0__april_29__2009____beman_s_boostified_version_chrono_"><span class="bold"><strong>Version 0.1.0, April 29, 2009</strong></span> <span class="emphasis"><em>Beman's boostified
+ version Chrono</em></span></a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="appendices/rationale.html"> Appendix B:
+ Rationale</a></span></dt>
+<dt><span class="section"><a href="appendices/implementation.html"> Appendix
+ C: Implementation Notes</a></span></dt>
+<dt><span class="section"> Appendix D: FAQ</span></dt>
+<dt><span class="section"><a href="appendices/acknowledgements.html"> Appendix
+ E: Acknowledgements</a></span></dt>
+<dt><span class="section"> Appendix F: Tests</span></dt>
+<dd><dl><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>
+<dt><span class="section"><a href="appendices/todo.html"> Appendix I: Future
+ plans</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference/formatters.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="appendices/history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/acknowledgements.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/acknowledgements.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Appendix
+ E: Acknowledgements</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="faq.html" title=" Appendix D: FAQ">
+<link rel="next" href="tests.html" title=" Appendix F: Tests">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="faq.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tests.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.appendices.acknowledgements"></a><a href="acknowledgements.html" title=" Appendix
+ E: Acknowledgements"> Appendix
+ E: Acknowledgements</a>
+</h3></div></div></div>
+<p>
+ The library's started from the Beman Dawes <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_stopwatches.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_stopwatches.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.
+ </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 <a href="../reference/stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch" title="
+ Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a>, __lightweight<span class="underline">stopwatch</span>_, and <a href="../reference/reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.stopclock" title="
+ Template Class stopclock&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock</span></code></a> classes and a deep help
+ with wide characters implementation.
+ </p>
+<p>
+ Thanks to Ronald Bock for reporting Valgind issues and for the many suggestion
+ he did concerning the documentation.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="faq.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tests.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/faq.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/faq.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Appendix D: FAQ</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="implementation.html" title=" Appendix
+ C: Implementation Notes">
+<link rel="next" href="acknowledgements.html" title=" Appendix
+ E: Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.appendices.faq"></a> Appendix D: FAQ
+</h3></div></div></div>
+<a name="boost_stopwatches.appendices.faq.why_does_stopwatch_reporter_only_display_millisecond_place_precision_when_the_underlying_clock_has_nanosecond_precision_"></a><h4>
+<a name="id5048192"></a>
+ <a href="faq.html#boost_stopwatches.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>
+ </h4>
+<p>
+ To avoid giving the impression of precision where none exists. See Caveat
+ emptor. You can always specify additional decimal places if you want to live
+ dangerously.
+ </p>
+<a name="boost_stopwatches.appendices.faq.why_does_stopwatch_reporter_sometimes_report_more_cpu_seconds_than_real_seconds_"></a><h4>
+<a name="id5048232"></a>
+ <a href="faq.html#boost_stopwatches.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>
+<p>
+ Ask your operating system supplier. The results have been inspected with
+ a debugger, and both for Windows and Linux, that's what the OS appears to
+ be reporting at times.
+ </p>
+<a name="boost_stopwatches.appendices.faq.can_i_obtain_statistics_of_the_time_elapsed_between_calls_to_a_function_"></a><h4>
+<a name="id5048265"></a>
+ <a href="faq.html#boost_stopwatches.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>
+<p>
+ The library do not provides this feature.
+ </p>
+<a name="boost_stopwatches.appendices.faq.what_happens_if_i_press_ctrl_c_and_program_terminates__what_log_would_boost_chrono_output_"></a><h4>
+<a name="id5048293"></a>
+ <a href="faq.html#boost_stopwatches.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>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/history.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/history.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,711 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Appendix A: History</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="../appendices.html" title="Appendices">
+<link rel="next" href="rationale.html" title=" Appendix B:
+ Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../appendices.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.appendices.history"></a> Appendix A: History
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Version 0.5.0, September 10, 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_stopwatches.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>
+<dt><span class="section"><a href="history.html#boost_stopwatches.appendices.history.__version_0_4_4__february_22__2010_____warning_fixes_"><span class="bold"><strong>Version 0.4.4, February 22, 2010</strong></span> <span class="emphasis"><em>Warning
+ fixes</em></span></a></span></dt>
+<dt><span class="section"><a href="history.html#boost_stopwatches.appendices.history.__version_0_4_3__june_18__2010____missing_file_fixe_"><span class="bold"><strong>Version 0.4.3, June 18, 2010</strong></span> <span class="emphasis"><em>Missing file
+ fixe</em></span></a></span></dt>
+<dt><span class="section">Version 0.4.2, June 18, 2010 Packaging fixe</span></dt>
+<dt><span class="section"><a href="history.html#boost_stopwatches.appendices.history.__version_0_4_1__june_17__2010____added_thread_clock_implementation_on_windows_"><span class="bold"><strong>Version 0.4.1, June 17, 2010</strong></span> <span class="emphasis"><em>Added thread
+ clock implementation on Windows</em></span></a></span></dt>
+<dt><span class="section"><a href="history.html#boost_stopwatches.appendices.history.__version_0_4__february_28__2010____new_thread_clock_and_suspendible_clock__"><span class="bold"><strong>Version 0.4, February 28, 2010</strong></span> <span class="emphasis"><em>New thread
+ clock and Suspendible clock </em></span></a></span></dt>
+<dt><span class="section"><a href="history.html#boost_stopwatches.appendices.history.__version_0_3_2__january_25__2010____new_frequency__lifetime_and_percentage_stopwatch_accumulator_features_"><span class="bold"><strong>Version 0.3.2, January 25, 2010</strong></span> <span class="emphasis"><em>New frequency,
+ lifetime and percentage stopwatch_accumulator features</em></span></a></span></dt>
+<dt><span class="section"><a href="history.html#boost_stopwatches.appendices.history.__version_0_3_1__january_20__2010____new_support_for_wide_characters_"><span class="bold"><strong>Version 0.3.1, January 20, 2010</strong></span> <span class="emphasis"><em>New support
+ for wide characters</em></span></a></span></dt>
+<dt><span class="section"><a href="history.html#boost_stopwatches.appendices.history.__version_0_3_0__january_17__2010____new_stopwatch_stopclock_feature___bug_fixes_"><span class="bold"><strong>Version 0.3.0, January 17, 2010</strong></span> <span class="emphasis"><em>New stopwatch/stopclock
+ feature + Bug fixes</em></span></a></span></dt>
+<dt><span class="section">Version 0.2.1, December 13, 2009 Bug fixes</span></dt>
+<dt><span class="section"><a href="history.html#boost_stopwatches.appendices.history.__version_0_2_0__december_8__2009______features___bug_fixes___updated_documentation_"><span class="bold"><strong>Version 0.2.0, December 8, 2009</strong></span> <span class="emphasis"><em>+ Features
+ + Bug fixes + Updated documentation</em></span></a></span></dt>
+<dt><span class="section"><a href="history.html#boost_stopwatches.appendices.history.__version_0_1_0__april_29__2009____beman_s_boostified_version_chrono_"><span class="bold"><strong>Version 0.1.0, April 29, 2009</strong></span> <span class="emphasis"><em>Beman's boostified
+ version Chrono</em></span></a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.appendices.history.__version_0_5_0__september_10__2010__"></a>Version 0.5.0, September 10, 2010
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ Extraction from Boost.Chrono of Boost.Stopwatches
+ </li></ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.appendices.history.__version_0_4_6__august_28__2010__"></a>Version 0.4.6, August 28, 2010
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>New Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Implementation of <code class="computeroutput"><span class="identifier">common_type</span></code>
+ without using Boost.TypeOf.
+ </li>
+<li>
+ Added <a href="../reference/formatters.html#boost_stopwatches.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>
+ class.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>Old Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ Type reporter removed from Stopwatches as well as the get_reporter
+ metafunction.
+ </li></ul></div>
+<p>
+ <span class="bold"><strong>Bug Fixes</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ __process_cpu<span class="underline">clock</span>_ is now a
+ valid model of Clock that can be used with __stopclocks<span class="underline">accumulator</span>_.
+ </li>
+<li>
+ eliminate or suppress a lot of warnings appearing with with warnings=all
+ -Wextra
+ </li>
+<li>
+ improve the error code handling
+ </li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.appendices.history.__version_0_4_5__july_6__2010____documentation_update_"></a><a href="history.html#boost_stopwatches.appendices.history.__version_0_4_5__july_6__2010____documentation_update_" title="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>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>Documentation</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Overview rewriting
+ </li>
+<li>
+ Added missing thread_clock reference.
+ </li>
+<li>
+ How to implement a thread_clock tutorial removed.
+ </li>
+<li>
+ References section renamed to External Resources.
+ </li>
+<li>
+ Added links to source examples.
+ </li>
+<li>
+ Added links between Models and Concepts.
+ </li>
+<li>
+ Added macros descriptions.
+ </li>
+<li>
+ Cleanup.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>Bug Fixes</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Valgrind fixes: "Conditional jump or move depends on uninitialised
+ value(s)"
+ </li>
+<li>
+ Take care of Boost.System break on version 1.44
+ </li>
+<li>
+ gcc.4.4 "warning: suggest parentheses around '&amp;&amp;' within
+ '||' " removal.
+ </li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.appendices.history.__version_0_4_4__february_22__2010_____warning_fixes_"></a><a href="history.html#boost_stopwatches.appendices.history.__version_0_4_4__february_22__2010_____warning_fixes_" title="Version 0.4.4, February 22, 2010 Warning
+ fixes"><span class="bold"><strong>Version 0.4.4, February 22, 2010</strong></span> <span class="emphasis"><em>Warning
+ fixes</em></span></a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>Bug Fixes</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ <code class="computeroutput"><span class="identifier">scoped_suspend</span></code> warning
+ removal
+ </li>
+<li>
+ <code class="computeroutput"><span class="identifier">error_code</span></code> management
+ completed
+ </li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.appendices.history.__version_0_4_3__june_18__2010____missing_file_fixe_"></a><a href="history.html#boost_stopwatches.appendices.history.__version_0_4_3__june_18__2010____missing_file_fixe_" title="Version 0.4.3, June 18, 2010 Missing file
+ fixe"><span class="bold"><strong>Version 0.4.3, June 18, 2010</strong></span> <span class="emphasis"><em>Missing file
+ fixe</em></span></a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>Bug Fixes</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ boost/thread/detail/cv_status.hpp file was not commited.
+ </li></ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.appendices.history.__version_0_4_2__june_18__2010____packaging_fixe_"></a>Version 0.4.2, June 18, 2010 Packaging fixe
+</h4></div></div></div>
+<div class="itemizedlist"><ul type="disc"><li>
+ Boost.Conversion library, used by Boost.Thread porting to Boost.Chrono
+ was not packaged.
+ </li></ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.appendices.history.__version_0_4_1__june_17__2010____added_thread_clock_implementation_on_windows_"></a><a href="history.html#boost_stopwatches.appendices.history.__version_0_4_1__june_17__2010____added_thread_clock_implementation_on_windows_" title="Version 0.4.1, June 17, 2010 Added thread
+ clock implementation on Windows"><span class="bold"><strong>Version 0.4.1, June 17, 2010</strong></span> <span class="emphasis"><em>Added thread
+ clock implementation on Windows</em></span></a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>New Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Added thread_clock implementation
+ on Windows.
+ </li>
+<li>
+ Added <span class="bold"><strong>Boost.Thread</strong></span> using <span class="bold"><strong>Boost.Chrono</strong></span>.
+ </li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.appendices.history.__version_0_4__february_28__2010____new_thread_clock_and_suspendible_clock__"></a><a href="history.html#boost_stopwatches.appendices.history.__version_0_4__february_28__2010____new_thread_clock_and_suspendible_clock__" title="Version 0.4, February 28, 2010 New thread
+ clock and Suspendible clock "><span class="bold"><strong>Version 0.4, February 28, 2010</strong></span> <span class="emphasis"><em>New thread
+ clock and Suspendible clock </em></span></a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>New Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ SuspendibleClock concept +
+ template class _suspendible<span class="underline">clock</span>_.
+ </li>
+<li>
+ Added <code class="computeroutput"><span class="identifier">scope_suspend</span></code>
+ which do <code class="computeroutput"><span class="identifier">suspend</span></code>/<code class="computeroutput"><span class="identifier">resume</span></code> if the <code class="computeroutput"><span class="identifier">Clock</span></code>
+ is a model of SuspendibleClock concept,
+ and nothing otherwise.
+ </li>
+<li>
+ thread_clock support on platforms
+ providing it natively.
+ </li>
+<li>
+ Added support for wide character for <a href="../reference/reporters.html#boost_stopwatches.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>.
+ </li>
+<li>
+ <code class="computeroutput"><span class="identifier">digital_time</span></code> renamed
+ <code class="computeroutput"><span class="identifier">t24_hours</span></code>.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>Perf</strong></span>
+ </p>
+<p>
+ Added performances measures.
+ </p>
+<p>
+ <span class="bold"><strong>Bug Fixes</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ Bug on timeval_demo.
+ </li></ul></div>
+<pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">duration</span><span class="special">(</span><span class="identifier">xtime</span><span class="special">(</span><span class="number">0</span><span class="special">)));</span> <span class="comment">// this was taken as a function declaration
+</span><span class="identifier">gettimeofday</span><span class="special">((</span><span class="identifier">timeval</span><span class="special">*)&amp;</span><span class="identifier">t</span><span class="special">,</span> <span class="number">0</span><span class="special">);</span>
+<span class="keyword">return</span> <span class="identifier">t</span><span class="special">;</span>
+</pre>
+<p>
+ time_point t(duration(xtime(0))); // this was taken as a function declaration
+ gettimeofday((timeval*)&amp;t, 0); return t; by
+ </p>
+<pre class="programlisting"><span class="identifier">timeval</span> <span class="identifier">tv</span><span class="special">;</span>
+<span class="identifier">gettimeofday</span><span class="special">(&amp;</span><span class="identifier">tv</span><span class="special">,</span> <span class="number">0</span><span class="special">);</span>
+<span class="identifier">xtime</span> <span class="identifier">xt</span><span class="special">(</span> <span class="identifier">tv</span><span class="special">.</span><span class="identifier">tv_sec</span><span class="special">,</span> <span class="identifier">tv</span><span class="special">.</span><span class="identifier">tv_usec</span><span class="special">);</span>
+<span class="keyword">return</span> <span class="identifier">time_point</span><span class="special">(</span><span class="identifier">duration</span><span class="special">(</span><span class="identifier">xt</span><span class="special">));</span>
+</pre>
+<div class="itemizedlist"><ul type="disc"><li>
+ Bug on run_timer_test (add a global variable to avoid optimization
+ that removes completely the code to be measured
+ </li></ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.appendices.history.__version_0_3_2__january_25__2010____new_frequency__lifetime_and_percentage_stopwatch_accumulator_features_"></a><a href="history.html#boost_stopwatches.appendices.history.__version_0_3_2__january_25__2010____new_frequency__lifetime_and_percentage_stopwatch_accumulator_features_" title="Version 0.3.2, January 25, 2010 New frequency,
+ lifetime and percentage stopwatch_accumulator features"><span class="bold"><strong>Version 0.3.2, January 25, 2010</strong></span> <span class="emphasis"><em>New frequency,
+ lifetime and percentage stopwatch_accumulator features</em></span></a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Added overloading for <code class="computeroutput"><span class="keyword">operator</span><span class="special">/(</span><span class="identifier">Integer</span><span class="special">/</span><span class="identifier">Duration</span><span class="special">)</span></code>
+ </li>
+<li>
+ Added frequency, lifetime and percentage to the default <code class="computeroutput"><span class="identifier">stopwatch_accumulator_formatter</span></code>.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>Bug Fixes</strong></span> * Specific formatters didn't
+ work completly. * Replace <code class="computeroutput"><span class="identifier">duration</span><span class="special">(</span><span class="number">0</span><span class="special">)</span></code>
+ by <code class="computeroutput"><span class="identifier">duration</span><span class="special">::</span><span class="identifier">zero</span><span class="special">()</span></code>
+ on template classes. * <code class="computeroutput"><span class="identifier">suspend</span></code>
+ doesn't works: <code class="computeroutput"><span class="identifier">partial_</span></code>
+ not initialized neither taken in account by the elapsed function.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.appendices.history.__version_0_3_1__january_20__2010____new_support_for_wide_characters_"></a><a href="history.html#boost_stopwatches.appendices.history.__version_0_3_1__january_20__2010____new_support_for_wide_characters_" title="Version 0.3.1, January 20, 2010 New support
+ for wide characters"><span class="bold"><strong>Version 0.3.1, January 20, 2010</strong></span> <span class="emphasis"><em>New support
+ for wide characters</em></span></a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Support for wide characters on formatters and stopclocks
+ </li>
+<li>
+ added <code class="computeroutput"><span class="identifier">chrono</span><span class="special">.</span><span class="identifier">hpp</span></code> and <code class="computeroutput"><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span></code>
+ at the boost level
+ </li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.appendices.history.__version_0_3_0__january_17__2010____new_stopwatch_stopclock_feature___bug_fixes_"></a><a href="history.html#boost_stopwatches.appendices.history.__version_0_3_0__january_17__2010____new_stopwatch_stopclock_feature___bug_fixes_" title="Version 0.3.0, January 17, 2010 New stopwatch/stopclock
+ feature + Bug fixes"><span class="bold"><strong>Version 0.3.0, January 17, 2010</strong></span> <span class="emphasis"><em>New stopwatch/stopclock
+ feature + Bug fixes</em></span></a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Added independent process cpu clocks for real, user, system process
+ CPU time
+ </li>
+<li>
+ Added global process cpu clock for real, user, system process CPU time
+ </li>
+<li>
+ Added <code class="computeroutput"><span class="identifier">digital_time</span></code>
+ (looking for a better name)
+ </li>
+<li>
+ Added new <a href="../reference/stopwatches.html#boost_stopwatches.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>.
+ </li>
+<li>
+ Added <a href="../reference/stopwatches.html#boost_stopwatches.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_stopwatches.reference.stopwatches.stopwatch_req" title="
+ Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a> 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_stopwatches.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_stopwatches.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, ...
+ </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_stopwatches.reference.stopwatches.stopwatch_req" title="
+ Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a>.
+ </li>
+<li>
+ Added new stopwatch <a href="../reference/reporters.html#boost_stopwatches.reference.reporters.formatter_req" title="
+ Formatter Requirements"><code class="computeroutput"><span class="identifier">Formatter</span></code></a> concept
+ <div class="itemizedlist"><ul type="circle">
+<li>
+ Added stopwatch formatter "%ds\n"
+ </li>
+<li>
+ Added stopwatch accumulator formatter "%c times, sum<code class="literal">%ss,
+ min</code>%ms, max<code class="literal">%Ms, mean</code>%as\n"
+ </li>
+<li>
+ Added time formatter "real %rs, cpu %cs (%p%), user %us,
+ system %ss\n"
+ </li>
+<li>
+ Added digital_time formatter "%d days(s) %h:%m:%s.%n\n"
+ </li>
+</ul></div>
+ </li>
+<li>
+ <a href="../reference/reporters.html#boost_stopwatches.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
+ generic class reporting elapsed time for the Stopwatch concept.
+ </li>
+<li>
+ Added <code class="computeroutput"><span class="identifier">stopclock</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span></code>
+ 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_stopwatches.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.
+ </li>
+<li>
+ Added <code class="computeroutput"><span class="identifier">typeof</span></code> registration
+ for classes <code class="computeroutput"><span class="identifier">duration</span></code>
+ and <code class="computeroutput"><span class="identifier">time_point</span></code>
+ </li>
+<li>
+ The old classes <code class="computeroutput"><span class="identifier">process_times</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">timer</span></code>
+ and <code class="computeroutput"><span class="identifier">run_timer</span></code> are deprecated
+ as the preceding additions are more generic. However for backward compatibility
+ they preserved until inclusion of the library in Boost. Next follows
+ the equivalences:
+ <div class="itemizedlist"><ul type="circle">
+<li>
+ <code class="computeroutput"><span class="identifier">timer</span><span class="special">&lt;&gt;</span></code>
+ ~ <code class="computeroutput"><span class="identifier">stopwatch</span><span class="special">&lt;&gt;</span></code>
+ </li>
+<li>
+ <code class="computeroutput"><span class="identifier">process_timer</span></code>
+ ~ <code class="computeroutput"><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">process_cpu_clock</span><span class="special">&gt;</span></code>
+ </li>
+<li>
+ <code class="computeroutput"><span class="identifier">run_timer</span></code> ~
+ <code class="computeroutput"><span class="identifier">stopclock</span><span class="special">&lt;&gt;</span></code>
+ </li>
+</ul></div>
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>Bug Fixes</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ Try to correct warning "C4251: 'boost::chrono::run_timer::m_format'
+ : class 'std::basic_string&lt;_Elem,_Traits,_Ax&gt;' needs to have
+ dll-interface to be used by clients of class 'boost::chrono::run_timer'",
+ by don't including inlines functions using the std::string <code class="computeroutput"><span class="identifier">m_format</span></code>.
+ </li></ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.appendices.history.__version_0_2_1__december_13__2009____bug_fixes_"></a>Version 0.2.1, December 13, 2009 Bug fixes
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>Bug Fixes</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Replace <code class="computeroutput"><span class="identifier">INTMAX_C</span></code> by
+ <code class="computeroutput"><span class="identifier">BOOST_INTMAX_C</span></code> until
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdint</span><span class="special">.</span><span class="identifier">hpp</span></code> ensures <code class="computeroutput"><span class="identifier">INTMAX_C</span></code>
+ is always defined.
+ </li>
+<li>
+ Define __BOOST_CHRONO_HAS_CLOCK<span class="underline">MONOTONIC</span>_
+ when <code class="computeroutput"><span class="identifier">BOOST_CHRONO_WINDOWS_API</span></code>
+ </li>
+<li>
+ Commenting invalid operator declarations
+ </li>
+<li>
+ Take care of Boost <code class="computeroutput"><span class="identifier">min</span></code>/<code class="computeroutput"><span class="identifier">max</span></code> recommendations
+ </li>
+<li>
+ Complete qualification when defining nested typedef duration on clocks
+ to avoid the following compile error:
+ </li>
+</ul></div>
+<pre class="programlisting"><span class="special">./</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">:</span><span class="number">945</span><span class="special">:</span> <span class="identifier">error</span><span class="special">:</span> <span class="identifier">declaration</span> <span class="identifier">of</span> <span class="char">'typedef class boost::chrono::duration&lt;long long int, boost::__ratio__&lt;1ll, 10000000ll&gt; &gt; boost::chrono::system_clock::duration'</span>
+<span class="special">./</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">:</span><span class="number">458</span><span class="special">:</span> <span class="identifier">error</span><span class="special">:</span> <span class="identifier">changes</span> <span class="identifier">meaning</span> <span class="identifier">of</span> <span class="char">'duration'</span> <span class="identifier">from</span> <span class="char">'class boost::chrono::duration&lt;long long int, boost::__ratio__&lt;1ll, 10000000ll&gt; &gt;'</span>
+</pre>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ cleanup of simulated...
+ </li>
+<li>
+ warning removal on <code class="computeroutput"><span class="identifier">posix</span><span class="special">/</span><span class="identifier">process_clock</span><span class="special">.</span><span class="identifier">cpp</span></code>.
+ </li>
+<li>
+ disable VC++ foolishness.
+ </li>
+<li>
+ Update Jamfiles to manage with dll.
+ </li>
+<li>
+ removal of conversion warning in test_duration.
+ </li>
+<li>
+ manage with MSVC reporting a warning instead of an error when there
+ is an integral constant overflow.
+ </li>
+<li>
+ Use <code class="computeroutput"><span class="identifier">STATIC_ASSERT</span></code> specific
+ macro to solve the compile failing issue.
+ </li>
+<li>
+ Qualify with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">detail</span></code>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">detail</span></code> to avoid ambiguities with
+ MSVC.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>Documentation:</strong></span>
+ </p>
+<p>
+ More updated documentation.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.appendices.history.__version_0_2_0__december_8__2009______features___bug_fixes___updated_documentation_"></a><a href="history.html#boost_stopwatches.appendices.history.__version_0_2_0__december_8__2009______features___bug_fixes___updated_documentation_" title="Version 0.2.0, December 8, 2009 + Features
+ + Bug fixes + Updated documentation"><span class="bold"><strong>Version 0.2.0, December 8, 2009</strong></span> <span class="emphasis"><em>+ Features
+ + Bug fixes + Updated documentation</em></span></a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Added <code class="computeroutput"><span class="identifier">ratio</span></code> construction
+ and assignment from an equivalent <code class="computeroutput"><span class="identifier">ratio</span></code>
+ (<a href="http://home.roadrunner.com/~hinnant/issue_review/lwg-active.html#1281" target="_top"><span class="bold"><strong>LWG 1281. CopyConstruction and Assignment between ratios
+ having the same normalized form</strong></span></a>)
+ </li>
+<li>
+ Added nested <code class="computeroutput"><span class="identifier">ratio</span></code>
+ typedef type (<a href="http://home.roadrunner.com/~hinnant/issue_review/lwg-active.html#1281" target="_top"><span class="bold"><strong>LWG 1281. CopyConstruction and Assignment between ratios
+ having the same normalized form</strong></span></a>)
+ </li>
+<li>
+ Added __BOOST_CHRONO_HAS_CLOCK<span class="underline">MONOTONIC</span>_
+ macro to state if <code class="computeroutput"><span class="identifier">monotonic_clock</span></code>
+ is provided on this platform.
+ </li>
+<li>
+ Added <code class="computeroutput"><span class="identifier">duration</span></code> <code class="computeroutput"><span class="keyword">operator</span><span class="special">%</span></code>
+ (LGW 934. duration is missing operator%)
+ </li>
+<li>
+ Added BOOST_CHRONO_CONSTEXPR when constexpr should be used.
+ </li>
+<li>
+ Complete <code class="computeroutput"><span class="identifier">duration</span></code>
+ <code class="computeroutput"><span class="keyword">operator</span><span class="special">*</span></code>
+ and <code class="computeroutput"><span class="keyword">operator</span><span class="special">/</span></code>.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>Implementation:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Use <code class="computeroutput"><span class="identifier">INTMAC_C</span></code> to name
+ <code class="computeroutput"><span class="identifier">intmax_t</span></code> constants
+ instead of <code class="computeroutput"><span class="identifier">LL</span></code>.
+ </li>
+<li>
+ Separate <code class="computeroutput"><span class="identifier">chrono</span><span class="special">.</span><span class="identifier">cpp</span></code> on # files <code class="computeroutput"><span class="identifier">win</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">.</span><span class="identifier">cpp</span></code>,
+ <code class="computeroutput"><span class="identifier">mac</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">.</span><span class="identifier">cpp</span></code> and <code class="computeroutput"><span class="identifier">posix</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">.</span><span class="identifier">cpp</span></code>
+ to make easier the maintenance on different platforms.
+ </li>
+<li>
+ Separate <code class="computeroutput"><span class="identifier">process_clock</span><span class="special">.</span><span class="identifier">cpp</span></code>
+ on # files <code class="computeroutput"><span class="identifier">win</span><span class="special">/</span><span class="identifier">process_clock</span><span class="special">.</span><span class="identifier">cpp</span></code>, <code class="computeroutput"><span class="identifier">mac</span><span class="special">/</span><span class="identifier">process_clock</span><span class="special">.</span><span class="identifier">cpp</span></code>
+ and <code class="computeroutput"><span class="identifier">posix</span><span class="special">/</span><span class="identifier">process_clock</span><span class="special">.</span><span class="identifier">cpp</span></code> to make easier the maintenace
+ on different platforms.
+ </li>
+<li>
+ Added the <code class="computeroutput"><span class="identifier">error_code</span></code>
+ prototype for <code class="computeroutput"><span class="identifier">monotonic_clock</span><span class="special">::</span><span class="identifier">now</span></code>
+ for <code class="computeroutput"><span class="identifier">mac</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">.</span><span class="identifier">cpp</span></code>.
+ </li>
+<li>
+ Fully implement <code class="computeroutput"><span class="identifier">mac</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">.</span><span class="identifier">cpp</span></code>
+ with error handling.
+ </li>
+<li>
+ Take care on POSIX systems when <code class="computeroutput"><span class="identifier">CLOCK_MONOTONIC</span></code>
+ is not defined.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>Documentation:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ The documentation is written now using quick-book using as base N2661 - A Foundation to Sleep On .
+ </li></ul></div>
+<p>
+ <span class="bold"><strong>Bug Fixes</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ <code class="computeroutput"><span class="keyword">operator</span><span class="special">/</span></code>
+ was ambiguous: Disambiguate duration <code class="computeroutput"><span class="keyword">operator</span><span class="special">/</span></code>.
+ </li>
+<li>
+ <code class="computeroutput"><span class="identifier">CLOCK_MONOTONIC</span></code> is
+ not defined with cygwin/gcc 3.4: Disable code when __BOOST_CHRONO_HAS_CLOCK<span class="underline">MONOTONIC</span>_ is not defined.
+ </li>
+<li>
+ result of metafunctions <code class="computeroutput"><span class="identifier">ratio_multiply</span></code>
+ and <code class="computeroutput"><span class="identifier">ratio_divide</span></code> were
+ not normalized ratios: Use of the nested <code class="computeroutput"><span class="identifier">ratio</span></code>
+ typedef type on <code class="computeroutput"><span class="identifier">ratio</span></code>
+ arithmetic operations.
+ </li>
+<li>
+ Copy constructor from similar <code class="computeroutput"><span class="identifier">duration</span></code>
+ masked the defaulted operations: Added duration defaulted implementations
+ </li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.appendices.history.__version_0_1_0__april_29__2009____beman_s_boostified_version_chrono_"></a><a href="history.html#boost_stopwatches.appendices.history.__version_0_1_0__april_29__2009____beman_s_boostified_version_chrono_" title="Version 0.1.0, April 29, 2009 Beman's boostified
+ version Chrono"><span class="bold"><strong>Version 0.1.0, April 29, 2009</strong></span> <span class="emphasis"><em>Beman's boostified
+ version Chrono</em></span></a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ The C++0x Standard Library's <code class="computeroutput"><span class="identifier">common_type</span></code>.
+ </li>
+<li>
+ The C++0x Standard Library's compile-time rational arithmetic.
+ </li>
+<li>
+ The C++0x Standard Library's time utilities, including:
+ <div class="itemizedlist"><ul type="circle">
+<li>
+ Class template <code class="computeroutput"><span class="identifier">duration</span></code>
+ </li>
+<li>
+ Class template <code class="computeroutput"><span class="identifier">time_point</span></code>
+ </li>
+<li>
+ Clocks:
+ <div class="itemizedlist"><ul type="square">
+<li>
+ <code class="computeroutput"><span class="identifier">system_clock</span></code>
+ </li>
+<li>
+ <code class="computeroutput"><span class="identifier">monotonic_clock</span></code>
+ </li>
+<li>
+ <code class="computeroutput"><span class="identifier">high_resolution_clock</span></code>
+ </li>
+</ul></div>
+ </li>
+</ul></div>
+ </li>
+<li>
+ Class template timer, with typedefs:
+ <div class="itemizedlist"><ul type="circle">
+<li>
+ <code class="computeroutput"><span class="identifier">system_timer</span></code>
+ </li>
+<li>
+ <code class="computeroutput"><span class="identifier">monotonic_timer</span></code>
+ </li>
+<li>
+ <code class="computeroutput"><span class="identifier">high_resolution_timer</span></code>
+ </li>
+</ul></div>
+ </li>
+<li>
+ Process clocks and timers:
+ <div class="itemizedlist"><ul type="circle">
+<li>
+ <code class="computeroutput"><span class="identifier">process_clock</span></code>,
+ capturing real, user-CPU, and system-CPU times.
+ </li>
+<li>
+ <code class="computeroutput"><span class="identifier">process_timer</span></code>,
+ capturing elapsed real, user-CPU, and system-CPU times.
+ </li>
+<li>
+ <code class="computeroutput"><span class="identifier">run_timer</span></code>, convenient
+ reporting of process_timer results.
+ </li>
+</ul></div>
+ </li>
+</ul></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../appendices.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/implementation.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/implementation.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Appendix
+ C: Implementation Notes</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="rationale.html" title=" Appendix B:
+ Rationale">
+<link rel="next" href="faq.html" title=" Appendix D: FAQ">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="faq.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.appendices.implementation"></a><a href="implementation.html" title=" Appendix
+ C: Implementation Notes"> Appendix
+ C: Implementation Notes</a>
+</h3></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="faq.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/perf.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/perf.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,132 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Appendix H: Performances</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="tickets.html" title=" Appendix G: Tickets">
+<link rel="next" href="todo.html" title=" Appendix I: Future
+ plans">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tickets.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="todo.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.appendices.perf"></a> Appendix H: Performances
+</h3></div></div></div>
+<p>
+ We have run some program changing how the reporting is done.
+ </p>
+<p>
+ NONE: no report is done on the inner function HIGH: every call to the recursive
+ function is reported using an stopclock SUSPEND: every call to the recursive
+ function is reported using a using an stopclock on a suspendible clock ACCU:
+ every call to the recursive function is tracked using a stopclock_accumulator
+ </p>
+<p>
+ We have run the programm with two different clocks, high_resolution_clock
+ and thread_clock.
+ </p>
+<p>
+ The programs are either single-threaded or multi-threaded.
+ </p>
+<p>
+ Two kind of inner functions are used: recursive or non recursive. In order
+ to test the influence of nesting reports, the non recursive functions use
+ up to 10 nesting levels, depending on its parameter.
+ </p>
+<p>
+ the function at level n is defined as follows
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">fn</span><span class="special">(</span><span class="keyword">long</span> <span class="identifier">v</span><span class="special">)</span> <span class="special">{</span>
+ <span class="comment">// reporting or not
+</span> <span class="identifier">stopclock</span><span class="special">&lt;&gt;</span> <span class="identifier">_</span><span class="special">;</span>
+ <span class="comment">// burn some time
+</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">v</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</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> <span class="keyword">if</span> <span class="special">(</span><span class="identifier">v</span><span class="special">==</span><span class="number">0</span><span class="special">)</span> <span class="keyword">return</span><span class="special">;</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">v</span><span class="special">%(</span><span class="identifier">n</span><span class="special">-</span><span class="number">1</span><span class="special">)==</span><span class="number">0</span><span class="special">)</span> <span class="identifier">fn</span><span class="special">-</span><span class="number">1</span><span class="special">(</span><span class="identifier">v</span><span class="special">-</span><span class="number">1</span><span class="special">);</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">v</span><span class="special">%(</span><span class="identifier">n</span><span class="special">-</span><span class="number">2</span><span class="special">)==</span><span class="number">0</span><span class="special">)</span> <span class="identifier">fn</span><span class="special">-</span><span class="number">2</span><span class="special">(</span><span class="identifier">v</span><span class="special">-</span><span class="number">1</span><span class="special">);</span>
+ <span class="special">...</span>
+ <span class="identifier">f1</span><span class="special">(</span><span class="identifier">v</span><span class="special">-</span><span class="number">1</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ This gives a variable number in nesting reporting depending on the parameter,
+ with a variable lifetime.
+ </p>
+<a name="boost_stopwatches.appendices.perf.single_threaded_recursive_function"></a><h4>
+<a name="id5050823"></a>
+ <a href="perf.html#boost_stopwatches.appendices.perf.single_threaded_recursive_function">Single-Threaded
+ Recursive function</a>
+ </h4>
+<p>
+ We have run the same program and changed how the reporting is done.
+ </p>
+<p>
+ The programm creates two thread of execution. the thread entry point calls
+ a function which makes some calculation depending on its parameter and call
+ recursivelly itself decreasing the parameter.
+ </p>
+<p>
+ NONE: no report is done on the inner function HIGH: every call to the recursive
+ function is reported using an stopclock SUSPEND: every call to the recursive
+ function is reported using a using an stopclock on a suspendible clock ACCU:
+ every call to the recursive function is tracked using a stopclock_accumulator
+ </p>
+<p>
+ We have run the programm with two different clocks, high_resolution_clock
+ and thread_clock.
+ </p>
+<a name="boost_stopwatches.appendices.perf.multi_threaded_recursive_function"></a><h4>
+<a name="id5050872"></a>
+ <a href="perf.html#boost_stopwatches.appendices.perf.multi_threaded_recursive_function">Multi-Threaded
+ Recursive function</a>
+ </h4>
+<p>
+ We have run the same program and changed how the reporting is done.
+ </p>
+<p>
+ The programm creates two thread of execution. the thread entry point calls
+ a function which makes some calculation depending on its parameter and call
+ recursivelly itself decreasing the parameter.
+ </p>
+<p>
+ NONE: no report is done on the inner function HIGH: every call to the recursive
+ function is reported using an stopclock SUSPEND: every call to the recursive
+ function is reported using a using an stopclock on a suspendible clock ACCU:
+ every call to the recursive function is tracked using a stopclock_accumulator
+ </p>
+<p>
+ We have run the programm with two different clocks, high_resolution_clock
+ and thread_clock.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tickets.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="todo.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/rationale.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/rationale.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Appendix B:
+ Rationale</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="history.html" title=" Appendix A: History">
+<link rel="next" href="implementation.html" title=" Appendix
+ C: Implementation Notes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.appendices.rationale"></a><a href="rationale.html" title=" Appendix B:
+ Rationale"> Appendix B:
+ Rationale</a>
+</h3></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/tests.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/tests.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,477 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Appendix F: Tests</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="acknowledgements.html" title=" Appendix
+ E: Acknowledgements">
+<link rel="next" href="tickets.html" title=" Appendix G: Tickets">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acknowledgements.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tickets.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.appendices.tests"></a> Appendix F: Tests
+</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section">stopwatch</span></dt></dl></div>
+<p>
+ In order to test you need to do.
+ </p>
+<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">libs</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">/</span><span class="identifier">test</span>
+</pre>
+<p>
+ You can also run a specific suite of test by doing
+ </p>
+<pre class="programlisting"><span class="identifier">cd</span> <span class="identifier">libs</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">/</span><span class="identifier">test</span>
+<span class="identifier">bjam</span> <span class="identifier">stopwatch</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.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>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acknowledgements.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tickets.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/tickets.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/tickets.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,718 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Appendix G: Tickets</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="tests.html" title=" Appendix F: Tests">
+<link rel="next" href="perf.html" title=" Appendix H: Performances">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tests.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.appendices.tickets"></a> Appendix G: Tickets
+</h3></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Ticket
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Resolution
+ </p>
+ </th>
+<th>
+ <p>
+ State
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+<td>
+ <p>
+ Issues raised by Michael Marcin: In the past I've seen QueryPerformanceCounter
+ give incorrect results, especially with SpeedStep processors on
+ laptops. This was many years ago and might have been fixed by service
+ packs and drivers.
+ </p>
+ <p>
+ Typically you check the results of QPC against GetTickCount to
+ see if the results are reasonable. http://support.microsoft.com/kb/274323
+ </p>
+ <p>
+ I've also heard of problems with QueryPerformanceCounter in multi-processor
+ systems.
+ </p>
+ <p>
+ I know some people SetThreadAffinityMask to 1 for the current thread
+ call their QueryPerformance* functions then restore SetThreadAffinityMask.
+ This seems horrible to me because it forces your program to jump
+ to another physical processor if it isn't already on cpu0 but they
+ claim it worked well in practice because they called the timing
+ functions infrequently.
+ </p>
+ <p>
+ In the past I have chosen to use timeGetTime with timeBeginPeriod(1)
+ for high resolution timers to avoid these issues.
+ </p>
+ </td>
+<td>
+ <p>
+ ???
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Open</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 1
+ </p>
+ </td>
+<td>
+ <p>
+ operator/ was ambiguous
+ </p>
+ </td>
+<td>
+ <p>
+ Disambiguate duration operator/
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+<td>
+ <p>
+ CLOCK_MONOTONIC is not defined with cygwin/gcc 3.4
+ </p>
+ </td>
+<td>
+ <p>
+ Disable code when BOOST_CHRONO_HAS_CLOCK_MONOTONIC is not defined.
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 3
+ </p>
+ </td>
+<td>
+ <p>
+ result of metafunctions ratio_multiply and ratio_divide were not
+ normalized ratios
+ </p>
+ </td>
+<td>
+ <p>
+ Use of the nested ratio typedef type on ratio arithmetic operations.
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 4
+ </p>
+ </td>
+<td>
+ <p>
+ Copy constructor from similar duration masked the defaulted operations
+ </p>
+ </td>
+<td>
+ <p>
+ Added duration defaulted implementations
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 5
+ </p>
+ </td>
+<td>
+ <p>
+ INTMAX_C is not always defined
+ </p>
+ </td>
+<td>
+ <p>
+ Replace INTMAX_C by BOOST_INTMAX_C until boost/cstdint.hpp ensures
+ INTMAX_C is always defined.
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 6
+ </p>
+ </td>
+<td>
+ <p>
+ undefined BOOST_CHRONO_HAS_CLOCK_MONOTONIC when BOOST_CHRONO_WINDOWS_API
+ </p>
+ </td>
+<td>
+ <p>
+ Define BOOST_CHRONO_HAS_CLOCK_MONOTONIC when BOOST_CHRONO_WINDOWS_API
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 7
+ </p>
+ </td>
+<td>
+ <p>
+ min/max macros intrussion
+ </p>
+ </td>
+<td>
+ <p>
+ Take care of Boost min/max recommendations
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 8
+ </p>
+ </td>
+<td>
+ <p>
+ declaration of 'typedef class boost::chrono::duration&lt;..&gt;
+ changes meaning of 'duration'
+ </p>
+ </td>
+<td>
+ <p>
+ complete qualification when defining nested typedef duration on
+ clocks to avoid the following compile error:
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 9
+ </p>
+ </td>
+<td>
+ <p>
+ VC++ warnings
+ </p>
+ </td>
+<td>
+ <p>
+ disable VC++ foolishness
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Ticket
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Resolution
+ </p>
+ </th>
+<th>
+ <p>
+ State
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 10
+ </p>
+ </td>
+<td>
+ <p>
+ conversion warning in test_duration
+ </p>
+ </td>
+<td>
+ <p>
+ removal of conversion warning in test_duration
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 11
+ </p>
+ </td>
+<td>
+ <p>
+ MSVC reports a warning instead of an error when there is an integral
+ constant overflow
+ </p>
+ </td>
+<td>
+ <p>
+ manage with MSVC reporting a warning instead of an error when there
+ is an integral constant overflow
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 12
+ </p>
+ </td>
+<td>
+ <p>
+ ambiguities with MSVC when using detail:: namespace
+ </p>
+ </td>
+<td>
+ <p>
+ Qualify with boost::detail boost::chrono::detail
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 13
+ </p>
+ </td>
+<td>
+ <p>
+ warning C4251: 'boost::chrono::run_timer::m_format' : class 'std::basic_string&lt;_Elem,_Traits,_Ax&gt;'
+ needs to have dll-interface to be used by clients of class 'boost::chrono::run_timer'
+ </p>
+ </td>
+<td>
+ <p>
+ don't include inlines functions using the std::string m_format
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 14
+ </p>
+ </td>
+<td>
+ <p>
+ Bad use of duration(0) on template classes
+ </p>
+ </td>
+<td>
+ <p>
+ remplace by duration::zero()
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 15
+ </p>
+ </td>
+<td>
+ <p>
+ suspend doesn't works: partial_ not initialized
+ </p>
+ </td>
+<td>
+ <p>
+ initialize with duration::zero()
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 16
+ </p>
+ </td>
+<td>
+ <p>
+ suspend doesn't works: elapsed doesn't take care of partial_
+ </p>
+ </td>
+<td>
+ <p>
+ take care of partial
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 17
+ </p>
+ </td>
+<td>
+ <p>
+ suspend doesn't works: bad use of system::error_code &amp; ec
+ </p>
+ </td>
+<td>
+ <p>
+ replace by system::error_code ec
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 18
+ </p>
+ </td>
+<td>
+ <p>
+ warnings on mingw-gcc.4.4:
+ </p>
+ <p>
+ ....../boost/chrono/chrono.hpp: In copy constructor 'boost::chrono::time_point&lt;boost::chrono::process_cpu_clock,
+ boost::chrono::duration&lt;boost::chrono::process_cpu_clock::times,
+ boost::ratio&lt;1ll, 1000000000ll&gt; &gt; &gt;::time_point(const
+ boost::chrono::time_point&lt;boost::chrono::process_cpu_clock,
+ boost::chrono::duration&lt;boost::chrono::process_cpu_clock::times,
+ boost::ratio&lt;1ll, 1000000000ll&gt; &gt; &gt;&amp;)': ....../boost/chrono/chrono.hpp:816:
+ warning: suggest parentheses around '&amp;&amp;' within '||' ....../boost/chrono/chrono.hpp:816:
+ warning: suggest parentheses around '&amp;&amp;' within '||'
+ </p>
+ </td>
+<td>
+ <p>
+ ???
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 19
+ </p>
+ </td>
+<td>
+ <p>
+ Use of Specific formatters doesn't works
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 20
+ </p>
+ </td>
+<td>
+ <p>
+ boost/chrono/scoped_suspend.hpp(31) : warning C4520: 'boost::chrono::scoped_suspend&lt;Clock&gt;'
+ : multiple default constructors specified
+ </p>
+ </td>
+<td>
+ <p>
+ Remove the default constructor deletion
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 21
+ </p>
+ </td>
+<td>
+ <p>
+ suspendible_clock_test doesn't works in my mingw environement
+ </p>
+ </td>
+<td>
+ <p>
+ (issue with tss)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Open</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 22
+ </p>
+ </td>
+<td>
+ <p>
+ error_code not initialized
+ </p>
+ </td>
+<td>
+ <p>
+ Use ec.clear() before throwing a exception.
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 23
+ </p>
+ </td>
+<td>
+ <p>
+ boost/thread/detail/cv_status.hpp file was not commited
+ </p>
+ </td>
+<td>
+ <p>
+ commit file
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 24
+ </p>
+ </td>
+<td>
+ <p>
+ Boost.Conversion was not packaged
+ </p>
+ </td>
+<td>
+ <p>
+ Package it
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 25
+ </p>
+ </td>
+<td>
+ <p>
+ Valgrind issue: Conditional jump or move depends on uninitialised
+ value(s)
+ </p>
+ </td>
+<td>
+ <p>
+ Replace the test
+ </p>
+ </td>
+<td>
+ <p>
+ Closed
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tests.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/todo.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/appendices/todo.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Appendix I: Future
+ plans</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="perf.html" title=" Appendix H: Performances">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="perf.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.appendices.todo"></a><a href="todo.html" title=" Appendix I: Future
+ plans"> Appendix I: Future
+ plans</a>
+</h3></div></div></div>
+<a name="boost_stopwatches.appendices.todo.tasks_to_do"></a><h4>
+<a name="id5050939"></a>
+ Tasks to do
+ </h4>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Complete documentation
+ </li>
+<li>
+ Fully implement error handling, with test cases.
+ </li>
+<li>
+ Fix open isues.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="perf.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/examples.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/examples.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Examples</title>
+<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../index.html" title="Boost.Stopwatches">
+<link rel="prev" href="users_guide/tutorial.html" title="Tutorial">
+<link rel="next" href="examples/reporting.html" title="Reporting">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="users_guide/tutorial.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples/reporting.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_stopwatches.examples"></a>Examples
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Reporting</span></dt>
+<dd><dl>
+<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/reporting.html#boost_stopwatches.examples.reporting.time_command">time
+ command</a></span></dt>
+</dl></dd>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="users_guide/tutorial.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples/reporting.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/examples/reporting.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/examples/reporting.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,186 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Reporting</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../examples.html" title="Examples">
+<link rel="prev" href="../examples.html" title="Examples">
+<link rel="next" href="../reference.html" title=" Reference ">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../examples.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.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="../reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.examples.reporting"></a>Reporting
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">stopclock_example.cpp</span></dt>
+<dt><span class="section">stopclock_example2.cpp</span></dt>
+<dt><span class="section"><a href="reporting.html#boost_stopwatches.examples.reporting.time_command">time
+ command</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.examples.reporting.stopclock_example_cpp"></a>stopclock_example.cpp
+</h4></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_stopwatches.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><h4 class="title">
+<a name="boost_stopwatches.examples.reporting.stopclock_example2_cpp"></a>stopclock_example2.cpp
+</h4></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_stopwatches.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><h4 class="title">
+<a name="boost_stopwatches.examples.reporting.time_command"></a><a href="reporting.html#boost_stopwatches.examples.reporting.time_command" title="time
+ command">time
+ command</a>
+</h4></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">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">cstdlib</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span> <span class="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">if</span> <span class="special">(</span> <span class="identifier">argc</span> <span class="special">==</span> <span class="number">1</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">"invoke: timex [-v] command [args...]\n"</span>
+ <span class="string">" command will be executed and timings displayed\n"</span>
+ <span class="string">" -v option causes command and args to be displayed\n"</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="number">1</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="identifier">s</span><span class="special">;</span>
+
+ <span class="keyword">bool</span> <span class="identifier">verbose</span> <span class="special">=</span> <span class="keyword">false</span><span class="special">;</span>
+ <span class="keyword">if</span> <span class="special">(</span> <span class="identifier">argc</span> <span class="special">&gt;</span> <span class="number">1</span> <span class="special">&amp;&amp;</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="char">'-'</span> <span class="special">&amp;&amp;</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="number">1</span><span class="special">)</span> <span class="special">==</span> <span class="char">'v'</span> <span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">verbose</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
+ <span class="special">++</span><span class="identifier">argv</span><span class="special">;</span>
+ <span class="special">--</span><span class="identifier">argc</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">1</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">argc</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span> <span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span> <span class="identifier">i</span> <span class="special">&gt;</span> <span class="number">1</span> <span class="special">)</span> <span class="identifier">s</span> <span class="special">+=</span> <span class="char">' '</span><span class="special">;</span>
+ <span class="identifier">s</span> <span class="special">+=</span> <span class="identifier">argv</span><span class="special">[</span><span class="identifier">i</span><span class="special">];</span>
+ <span class="special">}</span>
+
+ <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_stopwatches.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">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>
+</pre>
+<p>
+ <span class="emphasis"><em>See the source file example/timex.cpp</em></span>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../examples.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.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="../reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/overview.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/overview.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Overview</title>
+<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../index.html" title="Boost.Stopwatches">
+<link rel="prev" href="../index.html" title="Boost.Stopwatches">
+<link rel="next" href="overview/motivation.html" title="Motivation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overview/motivation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_stopwatches.overview"></a>Overview
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Motivation</span></dt>
+<dt><span class="section">Description</span></dt>
+</dl></div>
+<a name="boost_stopwatches.overview.how_to_use_this_documentation"></a><h3>
+<a name="id4986976"></a>
+ <a href="overview.html#boost_stopwatches.overview.how_to_use_this_documentation">How
+ to Use This Documentation</a>
+ </h3>
+<p>
+ This documentation makes use of the following naming and formatting conventions.
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Code is in <code class="computeroutput"><span class="identifier">fixed</span> <span class="identifier">width</span>
+ <span class="identifier">font</span></code> and is syntax-highlighted.
+ </li>
+<li>
+ Replaceable text that you will need to supply is in <em class="replaceable"><code>italics</code></em>.
+ </li>
+<li>
+ Free functions are rendered in the code font followed by (), as in free_function().
+ </li>
+<li>
+ If a name refers to a class template, it is specified like this: <code class="computeroutput"><span class="identifier">class_template</span><span class="special">&lt;&gt;</span></code>;
+ that is, it is in code font and its name is followed by <code class="computeroutput"><span class="special">&lt;&gt;</span></code>
+ to indicate that it is a class template.
+ </li>
+<li>
+ If a name refers to a function-like macro, it is specified like this:
+ <code class="computeroutput"><span class="identifier">MACRO</span><span class="special">()</span></code>;
+ that is, it is uppercase in code font and its name is followed by <code class="computeroutput"><span class="special">()</span></code> to indicate that it is a function-like
+ macro. Object-like macros appear without the trailing <code class="computeroutput"><span class="special">()</span></code>.
+ </li>
+<li>
+ Names that refer to <span class="emphasis"><em>concepts</em></span> in the generic programming
+ sense are specified in CamelCase.
+ </li>
+</ul></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ In addition, notes such as this one specify non-essential information that
+ provides additional background or rationale.
+ </p></td></tr>
+</table></div>
+<p>
+ Finally, you can mentally add the following to any code fragments in this document:
+ </p>
+<pre class="programlisting"><span class="comment">// Include all of Stopwatches 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 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">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">stopwatches</span><span class="special">;</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overview/motivation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/overview/description.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/overview/description.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Description</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="motivation.html" title="Motivation">
+<link rel="next" href="../users_guide.html" title=" Users'Guide">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="motivation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.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="../users_guide.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.overview.description"></a>Description
+</h3></div></div></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>
+ <span class="bold"><strong>Boost.Stopwatches</strong></span> provides:
+ </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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.reference.stopwatches.stopwatch_req" title="
+ Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code></a> capturing elapsed
+ <code class="computeroutput"><span class="identifier">Clock</span></code> times.
+ </li>
+<li>
+ <a href="../reference/stopwatches.html#boost_stopwatches.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_stopwatches.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>
+ Stopclocks: a complete time 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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="motivation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.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="../users_guide.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/overview/motivation.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/overview/motivation.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Motivation</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="../overview.html" title="Overview">
+<link rel="next" href="description.html" title="Description">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overview.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.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="description.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.overview.motivation"></a>Motivation
+</h3></div></div></div>
+<a name="boost_stopwatches.overview.motivation.reporting_elapsed_time"></a><h4>
+<a name="id4948840"></a>
+ <a href="motivation.html#boost_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.overview.motivation.how_reliable_are_these_measures_"></a><h4>
+<a name="id4948958"></a>
+ <a href="motivation.html#boost_stopwatches.overview.motivation.how_reliable_are_these_measures_">How
+ reliable are these measures?</a>
+ </h4>
+<p>
+ 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_stopwatches.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 SuspendibleClock such that the reporting
+ overhead can be ignored by suspending elapsed time tracking during reporting
+ operations
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overview.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.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="description.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/reference.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/reference.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Reference </title>
+<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../index.html" title="Boost.Stopwatches">
+<link rel="prev" href="examples/reporting.html" title="Reporting">
+<link rel="next" href="reference/stopwatches.html" title=" Stopwatches">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples/reporting.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/stopwatches.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_stopwatches.reference"></a> Reference
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> Stopwatches</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference/stopwatches.html#boost_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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"><a href="reference/reporters.html#boost_stopwatches.reference.reporters.formatter_req">
+ <code class="computeroutput"><span class="identifier">Formatter</span></code> Requirements</a></span></dt>
+<dt><span class="section">Formatter related traits</span></dt>
+<dt><span class="section"><a href="reference/reporters.html#boost_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples/reporting.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/stopwatches.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/reference/formatters.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/reference/formatters.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,706 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Stopwatch Formatters</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../reference.html" title=" Reference ">
+<link rel="prev" href="reporters.html" title=" Stopwatch Reporters">
+<link rel="next" href="../appendices.html" title="Appendices">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reporters.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../appendices.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.reference.formatters"></a> Stopwatch Formatters
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.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>
+<dd><dl><dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_formatter_hpp.basic_stopwatch_formatter">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopwatch_formatter</span><span class="special">&lt;&gt;</span></code></a></span></dt></dl></dd>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.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>
+<dd><dl>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_accumulator_formatter_hpp.basic_stopwatch_accumulator_formatter">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopwatch_accumulator_formatter</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_accumulator_formatter_hpp.typedefs">
+ <code class="computeroutput"><span class="identifier">basic_stopwatch_accumulator_formatter</span></code>
+ useful typedefs</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.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>
+<dd><dl>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.time_formatter_hpp.basic_time_formatter">
+ Template Class <code class="computeroutput"><span class="identifier">basic_time_formatter</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.time_formatter_hpp.typedefs">
+ <code class="computeroutput"><span class="identifier">basic_time_formatter</span></code> useful
+ typedefs</a></span></dt>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.time_formatter_hpp.spec">
+ <code class="computeroutput"><span class="identifier">stopwatch_reporter_default_formatter</span></code>
+ Specialization</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.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>
+<dd><dl>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_accumulator_time_formatter_hpp.basic_stopwatch_accumulator_time_formatter">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopwatch_accumulator_time_formatter</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_accumulator_time_formatter_hpp.typedefs">
+ <code class="computeroutput"><span class="identifier">basic_stopwatch_accumulator_time_formatter</span></code>
+ useful typedefs</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.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>
+<dd><dl><dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.t24_hours_hpp.t24_hours">
+ Class <code class="computeroutput"><span class="identifier">t24_hours</span></code></a></span></dt></dl></dd>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.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>
+<dd><dl>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.t24_hours_formatter_hpp.basic_24_hours_formatter">
+ Template Class <code class="computeroutput"><span class="identifier">basic_24_hours_formatter</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.t24_hours_formatter_hpp.typedefs">
+ <code class="computeroutput"><span class="identifier">basic_24_hours_formatter</span></code>
+ useful typedefs</a></span></dt>
+</dl></dd>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.formatters.stopwatch_formatter_hpp"></a><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_formatter_hpp" title="
+ Header &lt;boost/chrono/stopwatch_formatter.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_formatter_hpp.basic_stopwatch_formatter">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopwatch_formatter</span><span class="special">&lt;&gt;</span></code></a></span></dt></dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">CharT</span><span class="special">=</span><span class="keyword">char</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;,</span>
+ <span class="keyword">class</span> <span class="identifier">Alloc</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">basic_stopwatch_formatter</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">basic_stopwatch_formatter</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">stopwatch_formatter</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">basic_stopwatch_formatter</span><span class="special">&lt;</span><span class="keyword">wchar_t</span><span class="special">&gt;</span> <span class="identifier">wstopwatch_formatter</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.formatters.stopwatch_formatter_hpp.basic_stopwatch_formatter"></a><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_formatter_hpp.basic_stopwatch_formatter" title="
+ Template Class basic_stopwatch_formatter&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopwatch_formatter</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">stopwatch_formatter</span></code> is
+ a model of <a href="reporters.html#boost_stopwatches.reference.reporters.formatter_req" title="
+ Formatter Requirements"><code class="computeroutput"><span class="identifier">Formatter</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">CharT</span><span class="special">=</span><span class="keyword">char</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;,</span>
+ <span class="keyword">class</span> <span class="identifier">Alloc</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;</span>
+<span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_stopwatch_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">basic_string</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">,</span><span class="identifier">Traits</span><span class="special">,</span><span class="identifier">Alloc</span><span class="special">&gt;</span> <span class="identifier">string_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">CharT</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">basic_ostream</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">,</span><span class="identifier">Traits</span><span class="special">&gt;</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="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="keyword">static</span> <span class="keyword">int</span> <span class="identifier">default_places</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="keyword">char</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">std</span><span class="special">::</span><span class="identifier">ostream</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>
+</pre>
+<p>
+ The default places is given by default_places and is 3.
+ </p>
+<p>
+ The default format is "%ts\n", where
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">d</span></code>
+ : the result of elapsed() when the reporting is done.
+ </li></ul></div>
+<p>
+ The time is given using the suffix "s" following the System
+ International d'Unites Std.
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.formatters.stopwatch_accumulator_formatter_hpp"></a><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_accumulator_formatter_hpp" title="
+ Header &lt;boost/chrono/stopwatch_accumulator_formatter.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_accumulator_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_accumulator_formatter_hpp.basic_stopwatch_accumulator_formatter">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopwatch_accumulator_formatter</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_accumulator_formatter_hpp.typedefs">
+ <code class="computeroutput"><span class="identifier">basic_stopwatch_accumulator_formatter</span></code>
+ useful typedefs</a></span></dt>
+</dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">CharT</span><span class="special">=</span><span class="keyword">char</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;,</span>
+ <span class="keyword">class</span> <span class="identifier">Alloc</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span> <span class="identifier">basic_stopwatch_accumulator_formatter</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">basic_stopwatch_accumulator_formatter</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">stopwatch_accumulator_formatter</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">basic_stopwatch_accumulator_formatter</span><span class="special">&lt;</span><span class="keyword">wchar_t</span><span class="special">&gt;</span> <span class="identifier">wstopwatch_accumulator_formatter</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.formatters.stopwatch_accumulator_formatter_hpp.basic_stopwatch_accumulator_formatter"></a><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_accumulator_formatter_hpp.basic_stopwatch_accumulator_formatter" title="
+ Template Class basic_stopwatch_accumulator_formatter&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopwatch_accumulator_formatter</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">basic_stopwatch_accumulator_formatter</span></code>
+ is a model of <a href="reporters.html#boost_stopwatches.reference.reporters.formatter_req" title="
+ Formatter Requirements"><code class="computeroutput"><span class="identifier">Formatter</span></code></a>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">CharT</span><span class="special">=</span><span class="keyword">char</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;,</span>
+ <span class="keyword">class</span> <span class="identifier">Alloc</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_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">basic_string</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">,</span><span class="identifier">Traits</span><span class="special">,</span><span class="identifier">Alloc</span><span class="special">&gt;</span> <span class="identifier">string_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">CharT</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">basic_ostream</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">,</span><span class="identifier">Traits</span><span class="special">&gt;</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="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="keyword">static</span> <span class="keyword">int</span> <span class="identifier">default_places</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="keyword">char</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">std</span><span class="special">::</span><span class="identifier">ostream</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>
+</pre>
+<p>
+ The default places is given by default_places and is 3.
+ </p>
+<p>
+ The default format is "%c times, sum<code class="literal">%ss, min</code>%ms,
+ max<code class="literal">%Ms, mean</code>%as, frequency<code class="literal">%fHz, lifetime</code>%ls,
+ percentage=%p%\n", where
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">c</span></code>
+ : the counter of the number of times the pair srat/stop has been
+ called.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">s</span></code>
+ : the sum of the samples of elapsed time between the call to start/stop.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">m</span></code>
+ : the min of the samples of elapsed time between the call to start/stop.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">M</span></code>
+ : the max of the samples of elapsed time between the call to start/stop.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">a</span></code>
+ : the mean of the samples of elapsed time between the call to start/stop.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">f</span></code>
+ : the frequency of calls to start.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">l</span></code>
+ : the lifetime of the stopwatch_accumulator.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">p</span></code>
+ : the percentage of time spent by this stopwatch respect to its lifetime.
+ </li>
+</ul></div>
+<p>
+ The time is given using the suffix "s", the frequency is given
+ using the suffix "Hz", both following the System International
+ d'Unites Std.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.formatters.stopwatch_accumulator_formatter_hpp.typedefs"></a><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_accumulator_formatter_hpp.typedefs" title="
+ basic_stopwatch_accumulator_formatter
+ useful typedefs">
+ <code class="computeroutput"><span class="identifier">basic_stopwatch_accumulator_formatter</span></code>
+ useful typedefs</a>
+</h5></div></div></div>
+<p>
+ The library provides basic_stopwatch_accumulator_formatter shortcuts
+ for char and wchar_t.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_stopwatch_accumulator_formatter</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span>
+ <span class="identifier">stopwatch_accumulator_formatter</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">basic_stopwatch_accumulator_formatter</span><span class="special">&lt;</span><span class="keyword">wchar_t</span><span class="special">&gt;</span>
+ <span class="identifier">wstopwatch_accumulator_formatter</span><span class="special">;</span>
+</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.formatters.time_formatter_hpp"></a><a href="formatters.html#boost_stopwatches.reference.formatters.time_formatter_hpp" title="
+ Header &lt;boost/chrono/time_formatter.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">time_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.time_formatter_hpp.basic_time_formatter">
+ Template Class <code class="computeroutput"><span class="identifier">basic_time_formatter</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.time_formatter_hpp.typedefs">
+ <code class="computeroutput"><span class="identifier">basic_time_formatter</span></code> useful
+ typedefs</a></span></dt>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.time_formatter_hpp.spec">
+ <code class="computeroutput"><span class="identifier">stopwatch_reporter_default_formatter</span></code>
+ Specialization</a></span></dt>
+</dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">CharT</span><span class="special">=</span><span class="keyword">char</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;,</span>
+ <span class="keyword">class</span> <span class="identifier">Alloc</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">basic_time_formatter</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">basic_time_formatter</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">time_formatter</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">basic_time_formatter</span><span class="special">&lt;</span><span class="keyword">wchar_t</span><span class="special">&gt;</span> <span class="identifier">wtime_formatter</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">process_cpu_clock</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">time_formatter</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+<span class="special">}</span> <span class="special">}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.formatters.time_formatter_hpp.basic_time_formatter"></a><a href="formatters.html#boost_stopwatches.reference.formatters.time_formatter_hpp.basic_time_formatter" title="
+ Template Class basic_time_formatter&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">basic_time_formatter</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">basic_time_formatter</span></code>
+ is a model of <a href="reporters.html#boost_stopwatches.reference.reporters.formatter_req" title="
+ Formatter Requirements"><code class="computeroutput"><span class="identifier">Formatter</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Alloc</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_time_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">basic_string</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">,</span><span class="identifier">Traits</span><span class="special">,</span><span class="identifier">Alloc</span><span class="special">&gt;</span> <span class="identifier">string_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">CharT</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">basic_ostream</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">,</span><span class="identifier">Traits</span><span class="special">&gt;</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="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="keyword">static</span> <span class="keyword">int</span> <span class="identifier">default_places</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="keyword">char</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">std</span><span class="special">::</span><span class="identifier">ostream</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>
+</pre>
+<p>
+ The default places is given by default_places and is 3.
+ </p>
+<p>
+ The default format is "nreal %rs, cpu %cs (%p%), user %us, system
+ %ss\n", where
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">r</span></code>
+ : real process clock
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">u</span></code>
+ : user process clock
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">s</span></code>
+ : system process clock
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">c</span></code>
+ : user+system process clock
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">p</span></code>
+ : percentage (user+system)/real process clock
+ </li>
+</ul></div>
+<p>
+ All the units are given using the suffix "s" following the
+ System International d'Unites Std.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.formatters.time_formatter_hpp.typedefs"></a><a href="formatters.html#boost_stopwatches.reference.formatters.time_formatter_hpp.typedefs" title="
+ basic_time_formatter useful
+ typedefs">
+ <code class="computeroutput"><span class="identifier">basic_time_formatter</span></code> useful
+ typedefs</a>
+</h5></div></div></div>
+<p>
+ The library provides basic_time_formatter shortcuts for char and wchar_t.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_time_formatter</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">time_formatter</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">basic_time_formatter</span><span class="special">&lt;</span><span class="keyword">wchar_t</span><span class="special">&gt;</span> <span class="identifier">wtime_formatter</span><span class="special">;</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.formatters.time_formatter_hpp.spec"></a><a href="formatters.html#boost_stopwatches.reference.formatters.time_formatter_hpp.spec" title="
+ stopwatch_reporter_default_formatter
+ Specialization">
+ <code class="computeroutput"><span class="identifier">stopwatch_reporter_default_formatter</span></code>
+ Specialization</a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">process_cpu_clock</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">time_formatter</span> <span class="identifier">type</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.formatters.stopwatch_accumulator_time_formatter_hpp"></a><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_accumulator_time_formatter_hpp" title="
+ Header &lt;boost/chrono/stopwatch_accumulator_time_formatter.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_accumulator_time_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_accumulator_time_formatter_hpp.basic_stopwatch_accumulator_time_formatter">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopwatch_accumulator_time_formatter</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_accumulator_time_formatter_hpp.typedefs">
+ <code class="computeroutput"><span class="identifier">basic_stopwatch_accumulator_time_formatter</span></code>
+ useful typedefs</a></span></dt>
+</dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">CharT</span><span class="special">=</span><span class="keyword">char</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;,</span>
+ <span class="keyword">class</span> <span class="identifier">Alloc</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span> <span class="identifier">basic_stopwatch_accumulator_time_formatter</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">basic_stopwatch_accumulator_time_formatter</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">stopwatch_accumulator_time_formatter</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">basic_stopwatch_accumulator_time_formatter</span><span class="special">&lt;</span><span class="keyword">wchar_t</span><span class="special">&gt;</span> <span class="identifier">wstopwatch_accumulator_time_formatter</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.formatters.stopwatch_accumulator_time_formatter_hpp.basic_stopwatch_accumulator_time_formatter"></a><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_accumulator_time_formatter_hpp.basic_stopwatch_accumulator_time_formatter" title="
+ Template Class basic_stopwatch_accumulator_time_formatter&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopwatch_accumulator_time_formatter</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">basic_stopwatch_accumulator_time_formatter</span></code>
+ is a model of <a href="reporters.html#boost_stopwatches.reference.reporters.formatter_req" title="
+ Formatter Requirements"><code class="computeroutput"><span class="identifier">Formatter</span></code></a>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">CharT</span><span class="special">=</span><span class="keyword">char</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;,</span>
+ <span class="keyword">class</span> <span class="identifier">Alloc</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_stopwatch_accumulator_time_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">basic_string</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">,</span><span class="identifier">Traits</span><span class="special">,</span><span class="identifier">Alloc</span><span class="special">&gt;</span> <span class="identifier">string_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">CharT</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">basic_ostream</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">,</span><span class="identifier">Traits</span><span class="special">&gt;</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="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="keyword">static</span> <span class="keyword">int</span> <span class="identifier">default_places</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="keyword">char</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">std</span><span class="special">::</span><span class="identifier">ostream</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>
+</pre>
+<p>
+ The default places is given by default_places and is 3.
+ </p>
+<p>
+ The default format is "%c times, sum<code class="literal">%s, min</code>%m,
+ max<code class="literal">%M, mean</code>%a, frequency<code class="literal">%fHz, lifetime</code>%ls,
+ percentage=%p%\n|real %rs, cpu %cs (%p%), user %us, system %ss",
+ where
+ </p>
+<p>
+ 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.
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">c</span></code>
+ : the counter of the number of times the pair srat/stop has been
+ called.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">s</span></code>
+ : the sum of the samples of elapsed time between the call to start/stop.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">m</span></code>
+ : the min of the samples of elapsed time between the call to start/stop.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">M</span></code>
+ : the max of the samples of elapsed time between the call to start/stop.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">a</span></code>
+ : the mean of the samples of elapsed time between the call to start/stop.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">f</span></code>
+ : the frequency of calls to start.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">l</span></code>
+ : the lifetime of the stopwatch_accumulator.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">p</span></code>
+ : the percentage of time spent by this stopwatch respect to its lifetime.
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">r</span></code>
+ : real process clock
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">u</span></code>
+ : user process clock
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">s</span></code>
+ : system process clock
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">c</span></code>
+ : user+system process clock
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">p</span></code>
+ : percentage (user+system)/real process clock
+ </li>
+</ul></div>
+<p>
+ The time is given using the suffix "s", the frequency is given
+ using the suffix "Hz", both following the System International
+ d'Unites Std.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.formatters.stopwatch_accumulator_time_formatter_hpp.typedefs"></a><a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_accumulator_time_formatter_hpp.typedefs" title="
+ basic_stopwatch_accumulator_time_formatter
+ useful typedefs">
+ <code class="computeroutput"><span class="identifier">basic_stopwatch_accumulator_time_formatter</span></code>
+ useful typedefs</a>
+</h5></div></div></div>
+<p>
+ The library provides basic_stopwatch_accumulator_time_formatter shortcuts
+ for char and wchar_t.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_stopwatch_accumulator_time_formatter</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span>
+ <span class="identifier">stopwatch_accumulator_time_formatter</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">basic_stopwatch_accumulator_time_formatter</span><span class="special">&lt;</span><span class="keyword">wchar_t</span><span class="special">&gt;</span>
+ <span class="identifier">wstopwatch_accumulator_time_formatter</span><span class="special">;</span>
+</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.formatters.t24_hours_hpp"></a><a href="formatters.html#boost_stopwatches.reference.formatters.t24_hours_hpp" title="
+ Header &lt;boost/chrono/t24_hours.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">t24_hours</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.t24_hours_hpp.t24_hours">
+ Class <code class="computeroutput"><span class="identifier">t24_hours</span></code></a></span></dt></dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+ <span class="keyword">class</span> <span class="identifier">t24_hours</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.formatters.t24_hours_hpp.t24_hours"></a><a href="formatters.html#boost_stopwatches.reference.formatters.t24_hours_hpp.t24_hours" title="
+ Class t24_hours">
+ Class <code class="computeroutput"><span class="identifier">t24_hours</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">t24_hours</span></code> 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.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">t24_hours</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int_least32_t</span><span class="special">,</span> <code class="computeroutput"><span class="identifier">ratio</span></code><span class="special">&lt;</span><span class="number">24</span><span class="special">*</span><span class="number">3600</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">days</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">hours</span> <span class="identifier">hours</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">minutes</span> <span class="identifier">minutes</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span> <span class="identifier">seconds</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">nanoseconds</span> <span class="identifier">nanoseconds</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+ <span class="keyword">static</span> <span class="identifier">days</span> <span class="identifier">get_days</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+ <span class="keyword">static</span> <span class="identifier">hours</span> <span class="identifier">get_hours</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+ <span class="keyword">static</span> <span class="identifier">minutes</span> <span class="identifier">get_minutes</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+ <span class="keyword">static</span> <span class="identifier">seconds</span> <span class="identifier">get_seconds</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+ <span class="keyword">static</span> <span class="identifier">nanoseconds</span> <span class="identifier">get_nanoseconds</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+
+ <span class="identifier">days</span> <span class="identifier">days_</span><span class="special">;</span>
+ <span class="identifier">hours</span> <span class="identifier">hours_</span><span class="special">;</span>
+ <span class="identifier">minutes</span> <span class="identifier">minutes_</span><span class="special">;</span>
+ <span class="identifier">seconds</span> <span class="identifier">seconds_</span><span class="special">;</span>
+ <span class="identifier">nanoseconds</span> <span class="identifier">nanoseconds_</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period</span><span class="special">&gt;</span>
+ <span class="keyword">explicit</span> <span class="identifier">t24_hours</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+<span class="special">};</span>
+</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.formatters.t24_hours_formatter_hpp"></a><a href="formatters.html#boost_stopwatches.reference.formatters.t24_hours_formatter_hpp" title="
+ Header &lt;boost/chrono/t24_hours_formatter.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">t24_hours_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.t24_hours_formatter_hpp.basic_24_hours_formatter">
+ Template Class <code class="computeroutput"><span class="identifier">basic_24_hours_formatter</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="formatters.html#boost_stopwatches.reference.formatters.t24_hours_formatter_hpp.typedefs">
+ <code class="computeroutput"><span class="identifier">basic_24_hours_formatter</span></code>
+ useful typedefs</a></span></dt>
+</dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">CharT</span><span class="special">=</span><span class="keyword">char</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;,</span>
+ <span class="keyword">class</span> <span class="identifier">Alloc</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">basic_24_hours_formatter</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">basic_24_hours_formatter</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">t24_hours_formatter</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">basic_24_hours_formatter</span><span class="special">&lt;</span><span class="keyword">wchar_t</span><span class="special">&gt;</span> <span class="identifier">wt24_hours_formatter</span><span class="special">;</span>
+
+<span class="special">}</span> <span class="special">}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.formatters.t24_hours_formatter_hpp.basic_24_hours_formatter"></a><a href="formatters.html#boost_stopwatches.reference.formatters.t24_hours_formatter_hpp.basic_24_hours_formatter" title="
+ Template Class basic_24_hours_formatter&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">basic_24_hours_formatter</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">basic_24_hours_formatter</span></code>
+ is a model of <a href="reporters.html#boost_stopwatches.reference.reporters.formatter_req" title="
+ Formatter Requirements"><code class="computeroutput"><span class="identifier">Formatter</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Alloc</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_24_hours_formatter</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&amp;</span> <span class="identifier">default_os</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">default_format</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="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="keyword">char</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">std</span><span class="special">::</span><span class="identifier">ostream</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>
+</pre>
+<p>
+ The default places is given by default_places and is 3.
+ </p>
+<p>
+ The default format is "%d days(s) %h:%m:%s.%n\n", where
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">d</span></code>
+ : days
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">h</span></code>
+ : hours
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">m</span></code>
+ : minutes
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">s</span></code>
+ : seconds
+ </li>
+<li>
+ <code class="computeroutput"><span class="special">%</span><span class="identifier">n</span></code>
+ : nanoseconds
+ </li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.formatters.t24_hours_formatter_hpp.typedefs"></a><a href="formatters.html#boost_stopwatches.reference.formatters.t24_hours_formatter_hpp.typedefs" title="
+ basic_24_hours_formatter
+ useful typedefs">
+ <code class="computeroutput"><span class="identifier">basic_24_hours_formatter</span></code>
+ useful typedefs</a>
+</h5></div></div></div>
+<p>
+ The library provides basic_24_hours_formatter shortcuts for char and
+ wchar_t.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_24_hours_formatter</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">t24_hours_formatter</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">basic_24_hours_formatter</span><span class="special">&lt;</span><span class="keyword">wchar_t</span><span class="special">&gt;</span> <span class="identifier">wt24_hours_formatter</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>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reporters.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>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/reference/reporters.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/reference/reporters.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,1142 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Stopwatch Reporters</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../reference.html" title=" Reference ">
+<link rel="prev" href="stopwatches.html" title=" Stopwatches">
+<link rel="next" href="formatters.html" title=" Stopwatch Formatters">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stopwatches.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="formatters.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.reference.reporters"></a> Stopwatch Reporters
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.formatter_req">
+ <code class="computeroutput"><span class="identifier">Formatter</span></code> Requirements</a></span></dt>
+<dt><span class="section">Formatter related traits</span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.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>
+<dd><dl>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopwatch_reporter_hpp.basic_stopwatch_reporter">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopwatch_reporter</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_reporter</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopwatch_reporter_hpp.wstopwatch_reporter">
+ Template Class <code class="computeroutput"><span class="identifier">wstopwatch_reporter</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.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>
+<dd><dl>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.basic_stopclock">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopclock</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.stopclock">
+ Template Class <code class="computeroutput"><span class="identifier">stopclock</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.stopclock_typedefs">
+ <code class="computeroutput"><span class="identifier">stopclock</span></code> useful typedefs</a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.wstopclock">
+ Template Class <code class="computeroutput"><span class="identifier">wstopclock</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.wstopclock_typedefs">
+ <code class="computeroutput"><span class="identifier">wstopclock</span></code> useful typedefs</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.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>
+<dd><dl>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.basic_stopclock_accumulator">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopclock_accumulator</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator">
+ Template Class <code class="computeroutput"><span class="identifier">stopclock_accumulator</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator_typedefs">
+ <code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code> useful
+ typedefs</a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.wstopclock_accumulator">
+ Template Class <code class="computeroutput"><span class="identifier">wstopclock_accumulator</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.wstopclock_accumulator_typedefs">
+ <code class="computeroutput"><span class="identifier">wstopclock_accumulator</span></code>
+ useful typedefs</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.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>
+<dd><dl><dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.scoped_stopclock_hpp.scoped_stopclock">
+ Template Class <code class="computeroutput"><span class="identifier">scoped_stopclock</span><span class="special">&lt;&gt;</span></code></a></span></dt></dl></dd>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.reporters.formatter_req"></a><a href="reporters.html#boost_stopwatches.reference.reporters.formatter_req" title="
+ Formatter Requirements">
+ <code class="computeroutput"><span class="identifier">Formatter</span></code> Requirements</a>
+</h4></div></div></div>
+<p>
+ A Formatter outputs on a given ostream a formatted string combining informations
+ from a Stopwatch and the format and the double precision.
+ </p>
+<p>
+ A Formatter must meet the requirements in the following Table.
+ </p>
+<p>
+ In this table <code class="computeroutput"><span class="identifier">F</span></code> denote
+ a Formatter type, <code class="computeroutput"><span class="identifier">S</span></code> is
+ a Stopwatch and <code class="computeroutput"><span class="identifier">s</span></code> is an
+ instance of <code class="computeroutput"><span class="identifier">S</span></code>, <code class="computeroutput"><span class="identifier">f</span></code> is <code class="computeroutput"><span class="keyword">const</span>
+ <span class="keyword">char</span> <span class="special">*</span></code>
+ , <code class="computeroutput"><span class="identifier">p</span></code> is and int, and <code class="computeroutput"><span class="identifier">os</span></code> is a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span></code>,
+ ec is a system::error_code
+ </p>
+<div class="table">
+<a name="boost_stopwatches.reference.reporters.formatter_req.formatter_requirements"></a><p class="title"><b>Table&#160;2.&#160;Formatter Requirements</b></p>
+<table class="table" summary="Formatter Requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ operational semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">F</span><span class="special">::</span><span class="identifier">default_os</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ std::otream&amp;
+ </p>
+ </td>
+<td>
+ <p>
+ The output stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">F</span><span class="special">::</span><span class="identifier">default_places</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The precision when displaying a double.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">F</span><span class="special">::</span><span class="identifier">default_format</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The default format.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">F</span><span class="special">::</span><span class="identifier">show_time</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span><span class="identifier">f</span><span class="special">,</span><span class="identifier">p</span><span class="special">,</span><span class="identifier">os</span><span class="special">,</span><span class="identifier">ec</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">S</span><span class="special">::</span><span class="identifier">time_point</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ outputs on <code class="computeroutput"><span class="identifier">os</span></code>
+ a formatted string combining informations from the Stopwatch
+ <code class="computeroutput"><span class="identifier">s</span></code>, the format
+ <code class="computeroutput"><span class="identifier">f</span></code> and the double
+ precision <code class="computeroutput"><span class="identifier">p</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table>
+</div>
+<p>
+ Models of <code class="computeroutput"><span class="identifier">Formatter</span></code>:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ <a href="formatters.html#boost_stopwatches.reference.formatters.stopwatch_formatter_hpp.basic_stopwatch_formatter" title="
+ Template Class basic_stopwatch_formatter&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch_accumulator_formatter</span></code></a>
+ </li>
+<li>
+ <a href="formatters.html#boost_stopwatches.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>
+ </li>
+<li>
+ <a href="formatters.html#boost_stopwatches.reference.formatters.t24_hours_formatter_hpp.basic_24_hours_formatter" title="
+ Template Class basic_24_hours_formatter&lt;&gt;"><code class="computeroutput"><span class="identifier">basic_24_hours_formatter</span></code></a>
+ </li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.reporters._formatter__related_traits"></a>Formatter related traits
+</h4></div></div></div>
+<pre class="programlisting"><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">struct</span> <span class="identifier">stopwatch_reporter_default_formatter</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">below</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
+ defines the default formatter used by the <a href="reporters.html#boost_stopwatches.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> class when
+ the <code class="computeroutput"><span class="identifier">Formatter</span></code> parameter
+ is not explicit.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.reporters.stopwatch_reporter_hpp"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopwatch_reporter_hpp" title="
+ Header &lt;boost/chrono/stopwatch_reporter.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_reporter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopwatch_reporter_hpp.basic_stopwatch_reporter">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopwatch_reporter</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_reporter</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopwatch_reporter_hpp.wstopwatch_reporter">
+ Template Class <code class="computeroutput"><span class="identifier">wstopwatch_reporter</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+</dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Stopwatch</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">basic_stopwatch_reporter</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">struct</span> <span class="identifier">stopwatch_reporter_default_formatter</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">,</span>
+ <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">=</span><span class="keyword">typename</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">Stopwatch</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <a href="reporters.html#boost_stopwatches.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">;</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">struct</span> <span class="identifier">wstopwatch_reporter_default_formatter</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">,</span>
+ <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">=</span><span class="keyword">typename</span> <span class="identifier">wstopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">Stopwatch</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">wstopwatch_reporter</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.reporters.stopwatch_reporter_hpp.basic_stopwatch_reporter"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopwatch_reporter_hpp.basic_stopwatch_reporter" title="
+ Template Class basic_stopwatch_reporter&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopwatch_reporter</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ class <code class="computeroutput"><span class="identifier">basic_stopwatch_reporter</span></code>
+ provides everything a <code class="computeroutput"><span class="identifier">Stopwatch</span></code>
+ provides and it adds reporting capabilities that can be invoked in a
+ single line of code. The reporting is controleed by two parameters:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ format : The output format
+ </li>
+<li>
+ places(precision): the number of decimal placess used.
+ </li>
+</ul></div>
+<p>
+ The default places is given by Formatter::default_places().
+ </p>
+<p>
+ The default format is given by Formatter::default_format().
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Stopwatch</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_stopwatch_reporter</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">Stopwatch</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Stopwatch</span><span class="special">::</span><span class="identifier">clock</span> <span class="identifier">clock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Stopwatch</span> <span class="identifier">stopwatch</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Formatter</span> <span class="identifier">formatter</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopwatch_reporter</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</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="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopwatch_reporter</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopwatch_reporter</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopwatch_reporter</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopwatch_reporter</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="special">~</span><span class="identifier">basic_stopwatch_reporter</span><span class="special">();</span>
+
+ <span class="keyword">void</span> <span class="identifier">report</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">bool</span> <span class="identifier">reported</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_runner</span><span class="special">&lt;</span><span class="identifier">basic_stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">Stopwatch</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">scoped_run</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_suspender</span><span class="special">&lt;</span><span class="identifier">basic_stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">Stopwatch</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">scoped_suspend</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_resumer</span><span class="special">&lt;</span><span class="identifier">basic_stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">Stopwatch</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">scoped_resume</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_stopwatches.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopwatch_reporter_hpp.stopwatch_reporter" title="
+ Template Class stopwatch_reporter&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_reporter</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ class <a href="reporters.html#boost_stopwatches.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> provides
+ a everything a <code class="computeroutput"><span class="identifier">Stopwatch</span></code>
+ provides and it adds reporting capabilities that can be invoked in a
+ single line of code. The reporting is controleed by two parameters:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ format : The output format
+ </li>
+<li>
+ places(precision): the number of decimal placess used.
+ </li>
+</ul></div>
+<p>
+ The default places is given by Formatter::default_places().
+ </p>
+<p>
+ The default format is given by Formatter::default_format().
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Stopwatch</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">stopwatch_reporter</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">basic_stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">Stopwatch</span><span class="special">,</span><span class="identifier">Formatter</span><span class="special">&gt;</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Stopwatch</span><span class="special">::</span><span class="identifier">clock</span> <span class="identifier">clock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Stopwatch</span> <span class="identifier">stopwatch</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Formatter</span> <span class="identifier">formatter</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">stopwatch_reporter</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">stopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</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="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">stopwatch_reporter</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">stopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">stopwatch_reporter</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">stopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">stopwatch_reporter</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">stopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">stopwatch_reporter</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">stopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="special">~</span><span class="identifier">stopwatch_reporter</span><span class="special">();</span>
+
+ <span class="keyword">void</span> <span class="identifier">report</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">bool</span> <span class="identifier">reported</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_runner</span><span class="special">&lt;</span><span class="identifier">stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">Stopwatch</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">scoped_run</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_suspender</span><span class="special">&lt;</span><span class="identifier">stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">Stopwatch</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">scoped_suspend</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_resumer</span><span class="special">&lt;</span><span class="identifier">stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">Stopwatch</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">scoped_resume</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ Usage
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f1</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span> <span class="special">&gt;</span> <span class="identifier">accumulator</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="identifier">accumulator</span> <span class="identifier">t</span><span class="special">;</span>
+ <span class="identifier">accumulator</span><span class="special">::</span><span class="identifier">scoped_run</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">t</span><span class="special">);</span>
+ <span class="comment">// ...
+</span>
+ <span class="comment">// call to some function we don't want to measure
+</span> <span class="special">{</span>
+ <span class="identifier">accumulator</span><span class="special">::</span><span class="identifier">scoped_suspend</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">t</span><span class="special">);</span>
+ <span class="identifier">external_function</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_stopwatches.reference.reporters.stopwatch_reporter_hpp.wstopwatch_reporter"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopwatch_reporter_hpp.wstopwatch_reporter" title="
+ Template Class wstopwatch_reporter&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">wstopwatch_reporter</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ class <code class="computeroutput"><span class="identifier">wstopwatch_reporter</span></code>
+ provides a everything a <code class="computeroutput"><span class="identifier">Stopwatch</span></code>
+ provides and it adds reporting capabilities that can be invoked in a
+ single line of code. The reporting is controleed by two parameters:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ format : The output format
+ </li>
+<li>
+ places(precision): the number of decimal placess used.
+ </li>
+</ul></div>
+<p>
+ The default places is given by Formatter::default_places().
+ </p>
+<p>
+ The default format is given by Formatter::default_format().
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Stopwatch</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">wstopwatch_reporter</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">basic_wstopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">Stopwatch</span><span class="special">,</span><span class="identifier">Formatter</span><span class="special">&gt;</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Stopwatch</span><span class="special">::</span><span class="identifier">clock</span> <span class="identifier">clock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Stopwatch</span> <span class="identifier">stopwatch</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Formatter</span> <span class="identifier">formatter</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">wstopwatch_reporter</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">wstopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</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="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">wstopwatch_reporter</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">wstopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">wstopwatch_reporter</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">wstopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">wstopwatch_reporter</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">wstopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">wstopwatch_reporter</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">wstopwatch_reporter</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="special">~</span><span class="identifier">wstopwatch_reporter</span><span class="special">();</span>
+
+ <span class="keyword">void</span> <span class="identifier">report</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">bool</span> <span class="identifier">reported</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_runner</span><span class="special">&lt;</span><span class="identifier">wstopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">Stopwatch</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">scoped_run</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_suspender</span><span class="special">&lt;</span><span class="identifier">wstopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">Stopwatch</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">scoped_suspend</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_resumer</span><span class="special">&lt;</span><span class="identifier">wstopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">Stopwatch</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">scoped_resume</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ Usage
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f1</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">wstopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span> <span class="special">&gt;</span> <span class="identifier">accumulator</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="identifier">accumulator</span> <span class="identifier">t</span><span class="special">;</span>
+ <span class="identifier">accumulator</span><span class="special">::</span><span class="identifier">scoped_run</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">t</span><span class="special">);</span>
+ <span class="comment">// ...
+</span>
+ <span class="comment">// call to some function we don't want to measure
+</span> <span class="special">{</span>
+ <span class="identifier">accumulator</span><span class="special">::</span><span class="identifier">scoped_suspend</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">t</span><span class="special">);</span>
+ <span class="identifier">external_function</span><span class="special">();</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.reporters.stopclock_hpp"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp" title="
+ Header &lt;boost/chrono/stopclock.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopclock</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.basic_stopclock">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopclock</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.stopclock">
+ Template Class <code class="computeroutput"><span class="identifier">stopclock</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.stopclock_typedefs">
+ <code class="computeroutput"><span class="identifier">stopclock</span></code> useful typedefs</a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.wstopclock">
+ Template Class <code class="computeroutput"><span class="identifier">wstopclock</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.wstopclock_typedefs">
+ <code class="computeroutput"><span class="identifier">wstopclock</span></code> useful typedefs</a></span></dt>
+</dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span> <span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">basic_stopclock</span><span class="special">;</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span> <span class="special">&gt;</span> <span class="keyword">class</span> <a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.stopclock" title="
+ Template Class stopclock&lt;&gt;"><code class="computeroutput"><span class="identifier">stopclock</span></code></a><span class="special">;</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span> <span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">wstopclock</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">system_stopclock</span><span class="special">;</span>
+ <span class="preprocessor">#ifdef</span> <code class="computeroutput"><span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span></code>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">monotonic_stopclock</span><span class="special">;</span>
+ <span class="preprocessor">#endif</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">high_resolution_stopclock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">process_real_cpu_stopclock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">process_user_cpu_stopclock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">process_system_cpu_stopclock</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">system_wstopclock</span><span class="special">;</span>
+ <span class="preprocessor">#ifdef</span> <code class="computeroutput"><span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span></code>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">monotonic_wstopclock</span><span class="special">;</span>
+ <span class="preprocessor">#endif</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">high_resolution_wstopclock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">process_real_cpu_wstopclock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">process_user_cpu_wstopclock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">process_system_cpu_wstopclock</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.reporters.stopclock_hpp.basic_stopclock"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.basic_stopclock" title="
+ Template Class basic_stopclock&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopclock</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">basic_stopclock</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span><span class="identifier">Formatter</span><span class="special">&gt;</span></code>
+ template class is a shortcut of <code class="computeroutput"><span class="identifier">basic_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">,</span><span class="identifier">Formatter</span><span class="special">&gt;&gt;</span></code>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_stopclock</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">basic_stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;,</span> <span class="identifier">Formatter</span><span class="special">&gt;</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">Clock</span> <span class="identifier">clock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="identifier">stopwatch</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Formatter</span> <span class="identifier">formatter</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">string_type</span> <span class="identifier">string_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">char_type</span> <span class="identifier">char_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">ostream_type</span> <span class="identifier">ostream_type</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopclock</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopclock</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="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopclock</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">basic_stopclock</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="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">basic_stopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">basic_stopclock</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="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">basic_stopclock</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">basic_stopclock</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="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">basic_stopclock</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="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_run</span> <span class="identifier">scoped_run</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_suspend</span> <span class="identifier">scoped_suspend</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_resume</span> <span class="identifier">scoped_resume</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_stopwatches.reference.reporters.stopclock_hpp.stopclock"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.stopclock" title="
+ Template Class stopclock&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">stopclock</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ A stopclock is a stopwatch with the ability to report elapsed time on
+ an output stream. <code class="computeroutput"><span class="identifier">stopclock</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span></code> template class is a shortcut of
+ <code class="computeroutput"><span class="identifier">basic_stopclock</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span></code> with a specific default formatter.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span>
+ <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">=</span><span class="identifier">process_cpu_clock</span>
+ <span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">=</span><span class="keyword">typename</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;::</span><span class="identifier">type</span>
+<span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">stopclock</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">basic_stopclock</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Formatter</span><span class="special">&gt;</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">Clock</span> <span class="identifier">clock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="identifier">stopwatch</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Formatter</span> <span class="identifier">formatter</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">string_type</span> <span class="identifier">string_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">char_type</span> <span class="identifier">char_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">ostream_type</span> <span class="identifier">ostream_type</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">stopclock</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">stopclock</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="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">stopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">stopclock</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">stopclock</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="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">stopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">stopclock</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="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">stopclock</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">stopclock</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="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">stopclock</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="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_run</span> <span class="identifier">scoped_run</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_suspend</span> <span class="identifier">scoped_suspend</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_resume</span> <span class="identifier">scoped_resume</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_stopwatches.reference.reporters.stopclock_hpp.stopclock_typedefs"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.stopclock_typedefs" title="
+ stopclock useful typedefs">
+ <code class="computeroutput"><span class="identifier">stopclock</span></code> useful typedefs</a>
+</h5></div></div></div>
+<p>
+ The library provides stopclock shortcuts for all the models of <code class="computeroutput"><span class="identifier">Clock</span></code>, replacing clock by stopclock.
+ </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><span class="identifier">stopclock</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">system_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">system_stopwatch_stopclock</span><span class="special">;</span>
+<span class="preprocessor">#ifdef</span> <code class="computeroutput"><span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span></code>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">stopclock</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">monotonic_stopwatch_stopclock</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">stopclock</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">high_resolution_stopclock</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">stopclock</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">process_real_cpu_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">process_real_cpu_stopclock</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">stopclock</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">process_user_cpu_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">process_user_cpu_stopclock</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">stopclock</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">process_system_cpu_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">process_system_cpu_stopclock</span><span class="special">;</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.reporters.stopclock_hpp.wstopclock"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.wstopclock" title="
+ Template Class wstopclock&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">wstopclock</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">wstopclock</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span></code>
+ template class is a shortcut of <code class="computeroutput"><span class="identifier">basic_wstopclock</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span></code> with a specific default formatter.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span>
+ <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">=</span><span class="identifier">process_cpu_clock</span>
+ <span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">=</span><span class="keyword">typename</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;::</span><span class="identifier">type</span>
+<span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">wstopclock</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">basic_wstopclock</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Formatter</span><span class="special">&gt;</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">Clock</span> <span class="identifier">clock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="identifier">stopwatch</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Formatter</span> <span class="identifier">formatter</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">string_type</span> <span class="identifier">string_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">char_type</span> <span class="identifier">char_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">ostream_type</span> <span class="identifier">ostream_type</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">wstopclock</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">wstopclock</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="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">wstopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">wstopclock</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">wstopclock</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="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">wstopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">wstopclock</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="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">wstopclock</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">wstopclock</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="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">wstopclock</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="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_run</span> <span class="identifier">scoped_run</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_suspend</span> <span class="identifier">scoped_suspend</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_resume</span> <span class="identifier">scoped_resume</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_stopwatches.reference.reporters.stopclock_hpp.wstopclock_typedefs"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_hpp.wstopclock_typedefs" title="
+ wstopclock useful typedefs">
+ <code class="computeroutput"><span class="identifier">wstopclock</span></code> useful typedefs</a>
+</h5></div></div></div>
+<p>
+ The library provides wstopclock shortcuts for all the models of <code class="computeroutput"><span class="identifier">Clock</span></code>, replacing clock by wstopclock.
+ </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><span class="identifier">wstopclock</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">system_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">system_wstopclock</span><span class="special">;</span>
+<span class="preprocessor">#ifdef</span> <code class="computeroutput"><span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span></code>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">wstopclock</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">monotonic_wstopclock</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">wstopclock</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">high_resolution_wstopclock</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">wstopclock</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">process_real_cpu_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">process_real_cpu_wstopclock</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">wstopclock</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">process_user_cpu_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">process_user_cpu_wstopclock</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">wstopclock</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">process_system_cpu_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">process_system_cpu_wstopclock</span><span class="special">;</span>
+</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.reporters.stopclock_accumulator_hpp"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp" title="
+ Header &lt;boost/chrono/stopclock_accumulator.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopclock_accumulator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.basic_stopclock_accumulator">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopclock_accumulator</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator">
+ Template Class <code class="computeroutput"><span class="identifier">stopclock_accumulator</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator_typedefs">
+ <code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code> useful
+ typedefs</a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.wstopclock_accumulator">
+ Template Class <code class="computeroutput"><span class="identifier">wstopclock_accumulator</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.wstopclock_accumulator_typedefs">
+ <code class="computeroutput"><span class="identifier">wstopclock_accumulator</span></code>
+ useful typedefs</a></span></dt>
+</dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span> <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">basic_stopclock_accumulator</span><span class="special">;</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span> <span class="special">&gt;</span>
+ <span class="keyword">class</span> <a href="reporters.html#boost_stopwatches.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">;</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span> <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">wstopclock_accumulator</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">system_stopclock_accumulator</span><span class="special">;</span>
+ <span class="preprocessor">#ifdef</span> <code class="computeroutput"><span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span></code>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">monotonic_stopclock_accumulator</span><span class="special">;</span>
+ <span class="preprocessor">#endif</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">high_resolution_stopclock_accumulator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">process_real_cpu_stopclock_accumulator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">process_user_cpu_stopclock_accumulator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">process_system_cpu_stopclock_accumulator</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">system_wstopclock_accumulator</span><span class="special">;</span>
+ <span class="preprocessor">#ifdef</span> <code class="computeroutput"><span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span></code>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">monotonic_wstopclock_accumulator</span><span class="special">;</span>
+ <span class="preprocessor">#endif</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">high_resolution_wstopclock_accumulator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">process_real_cpu_wstopclock_accumulator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">process_user_cpu_wstopclock_accumulator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">process_system_cpu_wstopclock_accumulator</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.basic_stopclock_accumulator"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.basic_stopclock_accumulator" title="
+ Template Class basic_stopclock_accumulator&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">basic_stopclock_accumulator</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">basic_stopclock_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span></code> template class is a shortcut of
+ <code class="computeroutput"><span class="identifier">basic_stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;,</span> <span class="keyword">typename</span>
+ <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span></code>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span>
+ <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">=</span><span class="identifier">high_resolution_clock</span>
+ <span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">=</span>
+ <span class="keyword">typename</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;::</span><span class="identifier">type</span>
+<span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">basic_stopclock_accumulator</span>
+ <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">basic_stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;,</span> <span class="identifier">Formatter</span><span class="special">&gt;</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">Clock</span> <span class="identifier">clock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="identifier">stopwatch</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Formatter</span> <span class="identifier">formatter</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">string_type</span> <span class="identifier">string_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">char_type</span> <span class="identifier">char_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">ostream_type</span> <span class="identifier">ostream_type</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopclock_accumulator</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopclock_accumulator</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="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopclock_accumulator</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">basic_stopclock_accumulator</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">basic_stopclock_accumulator</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="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">basic_stopclock_accumulator</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">basic_stopclock_accumulator</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="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">basic_stopclock_accumulator</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">basic_stopclock_accumulator</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="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">basic_stopclock_accumulator</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="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_run</span> <span class="identifier">scoped_run</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_suspend</span> <span class="identifier">scoped_suspend</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_resume</span> <span class="identifier">scoped_resume</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_stopwatches.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator" title="
+ Template Class stopclock_accumulator&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">stopclock_accumulator</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">stopclock_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span></code> template class is a shortcut of
+ <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>
+ with a specific formatter.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span>
+ <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">=</span><span class="identifier">high_resolution_clock</span>
+ <span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">=</span>
+ <span class="keyword">typename</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;::</span><span class="identifier">type</span>
+<span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">stopclock_accumulator</span>
+ <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">basic_stopclock_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Formatter</span><span class="special">&gt;</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">Clock</span> <span class="identifier">clock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="identifier">stopwatch</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Formatter</span> <span class="identifier">formatter</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">string_type</span> <span class="identifier">string_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">char_type</span> <span class="identifier">char_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">ostream_type</span> <span class="identifier">ostream_type</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">stopclock_accumulator</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">stopclock_accumulator</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="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">stopclock_accumulator</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">stopclock_accumulator</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">stopclock_accumulator</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="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">stopclock_accumulator</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">stopclock_accumulator</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="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">stopclock_accumulator</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">stopclock_accumulator</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="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">stopclock_accumulator</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="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_run</span> <span class="identifier">scoped_run</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_suspend</span> <span class="identifier">scoped_suspend</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_resume</span> <span class="identifier">scoped_resume</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_stopwatches.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator_typedefs"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.stopclock_accumulator_typedefs" title="
+ stopclock_accumulator useful
+ typedefs">
+ <code class="computeroutput"><span class="identifier">stopclock_accumulator</span></code> useful
+ typedefs</a>
+</h5></div></div></div>
+<p>
+ The library provides stopclock_accumulator shortcuts for all the models
+ of <code class="computeroutput"><span class="identifier">Clock</span></code>, replacing clock
+ by stopclock_accumulator.
+ </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><span class="identifier">stopclock_accumulator</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">system_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">system_stopclock_accumulator</span><span class="special">;</span>
+<span class="preprocessor">#ifdef</span> <code class="computeroutput"><span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span></code>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">stopclock_accumulator</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">monotonic_stopclock_accumulator</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">stopclock_accumulator</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">high_resolution_stopclock_accumulator</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">stopclock_accumulator</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">process_real_cpu_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">process_real_cpu_stopclock_accumulator</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">stopclock_accumulator</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">process_user_cpu_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">process_user_cpu_stopclock_accumulator</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">stopclock_accumulator</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">process_system_cpu_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">process_system_cpu_stopclock_accumulator</span><span class="special">;</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.wstopclock_accumulator"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.wstopclock_accumulator" title="
+ Template Class wstopclock_accumulator&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">wstopclock_accumulator</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">wstopclock_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span></code> template class is a shortcut of
+ <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>
+ with a specific formatter.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span>
+ <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">=</span><span class="identifier">high_resolution_clock</span>
+ <span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">=</span>
+ <span class="keyword">typename</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;::</span><span class="identifier">type</span>
+<span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">wstopclock_accumulator</span>
+ <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">basic_wstopclock_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Formatter</span><span class="special">&gt;</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">Clock</span> <span class="identifier">clock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="identifier">stopwatch</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Formatter</span> <span class="identifier">formatter</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">string_type</span> <span class="identifier">string_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">char_type</span> <span class="identifier">char_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">ostream_type</span> <span class="identifier">ostream_type</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">wstopclock_accumulator</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">wstopclock_accumulator</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="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">wstopclock_accumulator</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">wstopclock_accumulator</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">wstopclock_accumulator</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="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">wstopclock_accumulator</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">wstopclock_accumulator</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="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">wstopclock_accumulator</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">wstopclock_accumulator</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="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">wstopclock_accumulator</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="keyword">int</span> <span class="identifier">places</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_run</span> <span class="identifier">scoped_run</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_suspend</span> <span class="identifier">scoped_suspend</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_resume</span> <span class="identifier">scoped_resume</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_stopwatches.reference.reporters.stopclock_accumulator_hpp.wstopclock_accumulator_typedefs"></a><a href="reporters.html#boost_stopwatches.reference.reporters.stopclock_accumulator_hpp.wstopclock_accumulator_typedefs" title="
+ wstopclock_accumulator
+ useful typedefs">
+ <code class="computeroutput"><span class="identifier">wstopclock_accumulator</span></code>
+ useful typedefs</a>
+</h5></div></div></div>
+<p>
+ The library provides wstopclock_accumulator shortcuts for all the models
+ of <code class="computeroutput"><span class="identifier">Clock</span></code>, replacing clock
+ by wstopclock_accumulator.
+ </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><span class="identifier">wstopclock_accumulator</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">system_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">system_wstopclock_accumulator</span><span class="special">;</span>
+<span class="preprocessor">#ifdef</span> <code class="computeroutput"><span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span></code>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">wstopclock_accumulator</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">monotonic_wstopclock_accumulator</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">wstopclock_accumulator</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">high_resolution_wstopclock_accumulator</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">wstopclock_accumulator</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">process_real_cpu_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">process_real_cpu_wstopclock_accumulator</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">wstopclock_accumulator</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">process_user_cpu_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">process_user_cpu_wstopclock_accumulator</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">wstopclock_accumulator</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">process_system_cpu_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">process_system_cpu_wstopclock_accumulator</span><span class="special">;</span>
+</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.reporters.scoped_stopclock_hpp"></a><a href="reporters.html#boost_stopwatches.reference.reporters.scoped_stopclock_hpp" title="
+ Header &lt;boost/chrono/scoped_stopclock.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">scoped_stopclock</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="reporters.html#boost_stopwatches.reference.reporters.scoped_stopclock_hpp.scoped_stopclock">
+ Template Class <code class="computeroutput"><span class="identifier">scoped_stopclock</span><span class="special">&lt;&gt;</span></code></a></span></dt></dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span> <span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">scoped_stopclock</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.reporters.scoped_stopclock_hpp.scoped_stopclock"></a><a href="reporters.html#boost_stopwatches.reference.reporters.scoped_stopclock_hpp.scoped_stopclock" title="
+ Template Class scoped_stopclock&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">scoped_stopclock</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">scoped_stopclock</span><span class="special">&lt;&gt;</span></code>is
+ like a <code class="computeroutput"><span class="identifier">stopclock</span><span class="special">&lt;&gt;</span></code>
+ but that in addition will output a scoped trace. At construction time
+ it will output
+ </p>
+<pre class="programlisting"><span class="special">{{{</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
+</pre>
+<p>
+ and at destruction time
+ </p>
+<pre class="programlisting"><span class="special">}}}</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="special">&lt;</span><span class="identifier">output</span> <span class="identifier">of</span> <span class="identifier">stopwatch_reporter</span><span class="special">&gt;</span>
+</pre>
+<p>
+ A typical ussage of this class is
+ </p>
+<pre class="programlisting"><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="identifier">scoped_stopclock</span><span class="special">&lt;&gt;</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">BOOST_CURRENT_FUNCTION</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>
+<a name="boost_stopwatches.reference.reporters.scoped_stopclock_hpp.scoped_stopclock.synopsis"></a><h6>
+<a name="id5035029"></a>
+ Synopsis
+ </h6>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">=</span><span class="identifier">process_cpu_clock</span>
+ <span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">=</span><span class="keyword">typename</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;::</span><span class="identifier">type</span>
+<span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">scoped_stopclock</span>
+ <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;,</span> <span class="identifier">Formatter</span><span class="special">&gt;</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">Clock</span> <span class="identifier">clock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Stopwatch</span> <span class="identifier">stopwatch</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Formatter</span> <span class="identifier">formatter</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">string_type</span> <span class="identifier">string_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">char_type</span> <span class="identifier">char_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Formatter</span><span class="special">::</span><span class="identifier">ostream_type</span> <span class="identifier">ostream_type</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">scoped_stopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">scoped_stopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">func</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="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">scoped_stopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">scoped_stopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">scoped_stopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">func</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="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">scoped_stopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">scoped_stopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">func</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="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">scoped_stopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">scoped_stopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">func</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="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</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">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">scoped_stopclock</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">func</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="keyword">int</span> <span class="identifier">places</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">format</span><span class="special">,</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="special">~</span><span class="identifier">scoped_stopclock</span><span class="special">();</span>
+
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_run</span> <span class="identifier">scoped_run</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_suspend</span> <span class="identifier">scoped_suspend</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">base_type</span><span class="special">::</span><span class="identifier">scoped_resume</span> <span class="identifier">scoped_resume</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>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stopwatches.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="formatters.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/reference/stopwatches.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/reference/stopwatches.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,1149 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Stopwatches</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../reference.html" title=" Reference ">
+<link rel="prev" href="../reference.html" title=" Reference ">
+<link rel="next" href="reporters.html" title=" Stopwatch Reporters">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reporters.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.reference.stopwatches"></a> Stopwatches
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatches_hpp">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.chrono_stopwatches_hpp">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req">
+ <code class="computeroutput"><span class="identifier">Stopwatch</span></code> Requirements</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_start">
+ Member Function <code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_stop">
+ Member Function <code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_suspend">
+ Member Function <code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_resume">
+ Member Function <code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_restart">
+ Member Function <code class="computeroutput"><span class="identifier">restart</span><span class="special">()</span></code></a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.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>
+<dd><dl>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.dont_start_t">
+ Class <code class="computeroutput"><span class="identifier">dont_start_t</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch">
+ Template Class <code class="computeroutput"><span class="identifier">lightweight_stopwatch</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.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>
+<dd><dl>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.spec">
+ <code class="computeroutput"><span class="identifier">stopwatch_reporter_default_formatter</span></code>
+ Specialization</a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch_typedefs">
+ <code class="computeroutput"><span class="identifier">stopwatch</span></code> useful typedefs</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.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>
+<dd><dl>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.spec">
+ <code class="computeroutput"><span class="identifier">stopwatch_reporter_default_formatter</span></code>
+ Specialization</a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator_typedefs">
+ <code class="computeroutput"><span class="identifier">stopwatch_accumulator</span></code> useful
+ typedefs</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.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>
+<dd><dl>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_scoped_hpp.stopwatch_runner">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_runner</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_scoped_hpp.stopwatch_suspender">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_suspender</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_scoped_hpp.stopwatch_resumer">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_resumer</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+</dl></dd>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatches_hpp"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatches_hpp" title="
+ Header &lt;boost/stopwatches.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<p>
+ This file include all the stopwatches related files
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.stopwatches.chrono_stopwatches_hpp"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.chrono_stopwatches_hpp" title="
+ Header &lt;boost/chrono/stopwatches.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<p>
+ This file include all the stopwatches related files
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">scoped_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">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">process_cpu_clocks</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<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">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>
+<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">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>
+<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_accumulator_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_accumulator_time_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_reporter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_scoped</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">time_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">t24_hours</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">t24_hours_formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_req"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req" title="
+ Stopwatch Requirements">
+ <code class="computeroutput"><span class="identifier">Stopwatch</span></code> Requirements</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_start">
+ Member Function <code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_stop">
+ Member Function <code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_suspend">
+ Member Function <code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_resume">
+ Member Function <code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_restart">
+ Member Function <code class="computeroutput"><span class="identifier">restart</span><span class="special">()</span></code></a></span></dt>
+</dl></div>
+<p>
+ A Stopwatch measure the amount of time elapsed from a start point in time
+ to the stop point time or the accumulation of them. Stopwatches can in
+ addition be restarted, suspended and resumed.
+ </p>
+<p>
+ A Stopwatch must meet the requirements in the following table. In this
+ table <code class="computeroutput"><span class="identifier">S</span></code>, <code class="computeroutput"><span class="identifier">S1</span></code> and <code class="computeroutput"><span class="identifier">S2</span></code>
+ denote stopwatches types. <code class="computeroutput"><span class="identifier">s</span></code>
+ is an instance of <code class="computeroutput"><span class="identifier">S</span></code>.
+ </p>
+<div class="table">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_requirements"></a><p class="title"><b>Table&#160;1.&#160;Stopwatch Requirements</b></p>
+<table class="table" summary="Stopwatch Requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ operational semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">S</span><span class="special">::</span><span class="identifier">clock</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A model of <code class="computeroutput"><span class="identifier">Clock</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ The clock associated to this Stopwatch.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">S</span><span class="special">::</span><span class="identifier">duration</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">S</span><span class="special">::</span><span class="identifier">clock</span><span class="special">::</span><span class="identifier">duration</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">duration</span></code>
+ type of the <code class="computeroutput"><span class="identifier">clock</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">S</span><span class="special">::</span><span class="identifier">time_point</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">S</span><span class="special">::</span><span class="identifier">clock</span><span class="special">::</span><span class="identifier">time_point</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">time_point</span></code>
+ type of the <code class="computeroutput"><span class="identifier">clock</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">S</span><span class="special">::</span><span class="identifier">scoped_run</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">stopwatch_runner</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RAI which <code class="computeroutput"><span class="identifier">start</span></code>/<code class="computeroutput"><span class="identifier">stop</span></code> the <code class="computeroutput"><span class="identifier">stopwatch</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">S</span><span class="special">::</span><span class="identifier">scoped_suspend</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">stopwatch_suspender</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RAI which <code class="computeroutput"><span class="identifier">suspend</span></code>/<code class="computeroutput"><span class="identifier">resume</span></code> the <code class="computeroutput"><span class="identifier">stopwatch</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">S</span><span class="special">::</span><span class="identifier">scoped_resume</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">stopwatch_resumer</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RAI which <code class="computeroutput"><span class="identifier">resume</span></code>/<code class="computeroutput"><span class="identifier">suspend</span></code> the <code class="computeroutput"><span class="identifier">stopwatch</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">start</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">S</span><span class="special">::</span><span class="identifier">time_point</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ starts a Stopwatch.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">restart</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">S</span><span class="special">::</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">S</span><span class="special">::</span><span class="identifier">time_point</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ restarts a Stopwatch.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">stop</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">S</span><span class="special">::</span><span class="identifier">duration</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ stops a Stopwatch.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">resume</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">S</span><span class="special">::</span><span class="identifier">time_point</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ resume a Stopwatch.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">suspend</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">S</span><span class="special">::</span><span class="identifier">duration</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ suspends a Stopwatch.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">elapsed</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">S</span><span class="special">::</span><span class="identifier">duration</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ the elapsed time while the Stopwatch was running.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_start"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_start" title="
+ Member Function start()">
+ Member Function <code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">start</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effect:</strong></span> Starts running the stopwatch.
+ </p>
+<p>
+ <span class="bold"><strong>Returns:</strong></span> the starting time point.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Any exception the <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span></code> function can throw when <code class="computeroutput"><span class="identifier">ec</span></code> is <code class="computeroutput"><span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span></code>
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_stop"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_stop" title="
+ Member Function stop()">
+ Member Function <code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">stop</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effect:</strong></span> Stops running the stopwatch.
+ </p>
+<p>
+ <span class="bold"><strong>Returns:</strong></span> The cummulated elapsed time.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Any exception the <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span></code> function can throw when <code class="computeroutput"><span class="identifier">ec</span></code> is <code class="computeroutput"><span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span></code>
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_suspend"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_suspend" title="
+ Member Function suspend()">
+ Member Function <code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">suspend</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effect:</strong></span> Suspends the stopwatch.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Any exception the <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span></code> function can throw when <code class="computeroutput"><span class="identifier">ec</span></code> is <code class="computeroutput"><span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span></code>
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_resume"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_resume" title="
+ Member Function resume()">
+ Member Function <code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">resume</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effect:</strong></span> Resumes the stopwatch.
+ </p>
+<p>
+ <span class="bold"><strong>Returns:</strong></span> the starting time point.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Any exception the Clock::now
+ function can throw.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_restart"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req.stopwatch_restart" title="
+ Member Function restart()">
+ Member Function <code class="computeroutput"><span class="identifier">restart</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">restart</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effect:</strong></span> <code class="computeroutput"><span class="identifier">stop</span></code>/<code class="computeroutput"><span class="identifier">start</span></code> the stopwatch.
+ </p>
+<p>
+ <span class="bold"><strong>Returns:</strong></span> the starting time point.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Any exception the <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span></code> function can throw when <code class="computeroutput"><span class="identifier">ec</span></code> is <code class="computeroutput"><span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span></code>
+ </p>
+</div>
+<p>
+ Models of <code class="computeroutput"><span class="identifier">Stopwatch</span></code>:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ <a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch" title="
+ Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a>
+ </li>
+<li>
+ <a href="stopwatches.html#boost_stopwatches.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>
+ </li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp" title="
+ Header &lt;boost/chrono/lightweight_stopwatch.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">lightweight_stopwatch</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.dont_start_t">
+ Class <code class="computeroutput"><span class="identifier">dont_start_t</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch">
+ Template Class <code class="computeroutput"><span class="identifier">lightweight_stopwatch</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+</dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">dont_start_t</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">dont_start_t</span> <span class="identifier">dont_start</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">=</span><span class="identifier">high_resolution_clock</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Features</span><span class="special">=</span><span class="keyword">void</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Weight</span><span class="special">=</span><span class="keyword">void</span>
+ <span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">__lightweight_stopwatch__</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">system_lightweight_stopwatch</span><span class="special">;</span>
+ <span class="preprocessor">#ifdef</span> <code class="computeroutput"><span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span></code>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">monotonic_lightweight_stopwatch</span><span class="special">;</span>
+ <span class="preprocessor">#endif</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">high_resolution_lightweight_stopwatch</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.dont_start_t"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.dont_start_t" title="
+ Class dont_start_t">
+ Class <code class="computeroutput"><span class="identifier">dont_start_t</span></code></a>
+</h5></div></div></div>
+<p>
+ Structure used to don't start a <code class="computeroutput"><span class="identifier">lightweight_stopwatch</span></code>
+ at construction time.
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">dont_start_t</span><span class="special">;</span>
+<span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">dont_start_t</span> <span class="identifier">dont_start</span><span class="special">;</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch" title="
+ Template Class lightweight_stopwatch&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">lightweight_stopwatch</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.c1">
+ Constructor <code class="computeroutput"><span class="identifier">lightweight_stopwatch</span><span class="special">(</span> <span class="identifier">storage</span><span class="special">&amp;,</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span>
+ <span class="special">&amp;)</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.c2">
+ Constructor <code class="computeroutput"><span class="identifier">lightweight_stopwatch</span><span class="special">(</span> <span class="identifier">storage</span><span class="special">&amp;,</span> <span class="identifier">dont_start_t</span>
+ <span class="special">&amp;)</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.lightweight_stopwatch_elapsed">
+ Member Function <code class="computeroutput"><span class="identifier">elapsed</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.stopwatch_accumulator_accumulated">
+ Member Function <code class="computeroutput"><span class="identifier">accumulated</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.stopwatch_accumulator_reset">
+ Member Function <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code></a></span></dt>
+</dl></div>
+<p>
+ <code class="computeroutput"><span class="identifier">lightweight_stopwatch</span><span class="special">&lt;&gt;</span></code> is a model of a __lightweight_stopwatch<span class="underline">concept</span>_.
+ </p>
+<p>
+ Knowing how long a part of a program takes to execute is useful in both
+ test and production environments. A __lightweight<span class="underline">stopwatch</span>_
+ 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.
+ </p>
+<p>
+ 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.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Features</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Weight</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">lightweight_stopwatch</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">Clock</span> <span class="identifier">clock</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">duration</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">time_point</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">below</span><span class="special">&gt;</span> <span class="identifier">storage</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">lightweight_stopwatch</span><span class="special">(</span> <span class="identifier">storage</span><span class="special">&amp;</span> <span class="identifier">st</span><span class="special">,</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">lightweight_stopwatch</span><span class="special">(</span> <span class="identifier">storage</span><span class="special">&amp;</span> <span class="identifier">st</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">dont_start_t</span><span class="special">&amp;</span> <span class="identifier">t</span> <span class="special">);</span>
+
+ <span class="special">~</span><span class="identifier">lightweight_stopwatch</span><span class="special">();</span>
+
+ <span class="identifier">time_point</span> <span class="identifier">start</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">duration</span> <span class="identifier">stop</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">duration</span><span class="special">,</span><span class="identifier">time_point</span><span class="special">&gt;</span> <span class="identifier">restart</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">duration</span> <span class="identifier">suspend</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="identifier">time_point</span> <span class="identifier">resume</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">duration</span> <span class="identifier">elapsed</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">time_point</span> <span class="identifier">now</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">void</span> <span class="identifier">reset</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="identifier">storage</span><span class="special">&amp;</span> <span class="identifier">get_storage</span><span class="special">(</span> <span class="special">);</span>
+
+ <span class="identifier">duration</span> <span class="identifier">lifetime</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">lightweight_stopwatch_runner</span><span class="special">&lt;</span><span class="identifier">lightweight_stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">scoped_run</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">lightweight_stopwatch_suspender</span><span class="special">&lt;</span><span class="identifier">lightweight_stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">scoped_suspend</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">lightweight_stopwatch_resumer</span><span class="special">&lt;</span><span class="identifier">lightweight_stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">scoped_resume</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">lightweight_stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">lightweight_stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">reporter</span><span class="special">;</span>
+
+<span class="special">};</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">storage</span></code> is either <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span></code> if Features and Weight are
+ void and <code class="computeroutput"><span class="identifier">accumulators</span><span class="special">::</span><span class="identifier">accumulator_set</span><span class="special">&lt;</span><span class="keyword">typename</span>
+ <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span><span class="special">::</span><span class="identifier">rep</span><span class="special">,</span> <span class="identifier">Features</span><span class="special">,</span>
+ <span class="identifier">Weight</span><span class="special">&gt;</span></code>
+ otherwise.
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.c1"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.c1" title="
+ Constructor lightweight_stopwatch( storage&amp;, system::error_code
+ &amp;)">
+ Constructor <code class="computeroutput"><span class="identifier">lightweight_stopwatch</span><span class="special">(</span> <span class="identifier">storage</span><span class="special">&amp;,</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span>
+ <span class="special">&amp;)</span></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">lightweight_stopwatch</span><span class="special">(</span> <span class="identifier">storage</span><span class="special">&amp;</span> <span class="identifier">st</span><span class="special">,</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effect:</strong></span> constructs and starts the
+ lightweight_stopwatch.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Any exception the <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span></code> function can throw when <code class="computeroutput"><span class="identifier">ec</span></code> is <code class="computeroutput"><span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span></code>
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.c2"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.c2" title="
+ Constructor lightweight_stopwatch( storage&amp;, dont_start_t
+ &amp;)">
+ Constructor <code class="computeroutput"><span class="identifier">lightweight_stopwatch</span><span class="special">(</span> <span class="identifier">storage</span><span class="special">&amp;,</span> <span class="identifier">dont_start_t</span>
+ <span class="special">&amp;)</span></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">lightweight_stopwatch</span><span class="special">(</span> <span class="identifier">storage</span><span class="special">&amp;</span> <span class="identifier">st</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">dont_start_t</span><span class="special">&amp;</span> <span class="identifier">t</span> <span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effect:</strong></span> constructs the lightweight_stopwatch
+ without starting it.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Nothing.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.lightweight_stopwatch_elapsed"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.lightweight_stopwatch_elapsed" title="
+ Member Function elapsed()">
+ Member Function <code class="computeroutput"><span class="identifier">elapsed</span><span class="special">()</span></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">elapsed</span><span class="special">(</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ <span class="bold"><strong>Returns:</strong></span> the cumulated elapsed time.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Any exception the <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span></code> function can throw when <code class="computeroutput"><span class="identifier">ec</span></code> is <code class="computeroutput"><span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span></code>
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.stopwatch_accumulator_accumulated"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.stopwatch_accumulator_accumulated" title="
+ Member Function accumulated()">
+ Member Function <code class="computeroutput"><span class="identifier">accumulated</span><span class="special">()</span></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="identifier">storage</span><span class="special">&amp;</span> <span class="identifier">get_storage</span><span class="special">();</span>
+</pre>
+<p>
+ <span class="bold"><strong>Returns:</strong></span> the assocaited storage reference.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Nothing.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.stopwatch_accumulator_reset"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.lightweight_stopwatch_hpp.lightweight_stopwatch.stopwatch_accumulator_reset" title="
+ Member Function reset()">
+ Member Function <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">reset</span><span class="special">(</span> <span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effect:</strong></span> Stop the lightweight_stopwatch
+ and reinit the storage.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Nothing.
+ </p>
+</div>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_hpp"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp" title="
+ Header &lt;boost/chrono/stopwatch.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.spec">
+ <code class="computeroutput"><span class="identifier">stopwatch_reporter_default_formatter</span></code>
+ Specialization</a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch_typedefs">
+ <code class="computeroutput"><span class="identifier">stopwatch</span></code> useful typedefs</a></span></dt>
+</dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">=</span><span class="identifier">high_resolution_clock</span><span class="special">&gt;</span> <span class="keyword">class</span> <a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch" title="
+ Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_formatter</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">wstopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">wstopwatch_formatter</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">system_stopwatch</span><span class="special">;</span>
+ <span class="preprocessor">#ifdef</span> <code class="computeroutput"><span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span></code>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">monotonic_stopwatch</span><span class="special">;</span>
+ <span class="preprocessor">#endif</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">high_resolution_stopwatch</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch" title="
+ Template Class stopwatch&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch.c1">
+ Constructor <code class="computeroutput"><span class="identifier">stopwatch</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></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch.c2">
+ Constructor <code class="computeroutput"><span class="identifier">stopwatch</span><span class="special">(</span> <span class="identifier">dont_start_t</span>
+ <span class="special">&amp;)</span></code></a></span></dt>
+</dl></div>
+<p>
+ <code class="computeroutput"><span class="identifier">stopwatch</span><span class="special">&lt;&gt;</span></code>
+ is a model of a <a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req" title="
+ Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code> concept</a>.
+ </p>
+<p>
+ Knowing how long a part of a program takes to execute is useful in both
+ test and production environments. A <a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch" title="
+ Template Class stopwatch&lt;&gt;"><code class="computeroutput"><span class="identifier">stopwatch</span></code></a> 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.
+ </p>
+<p>
+ 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.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">stopwatch</span> <span class="special">:</span> <span class="keyword">private</span> <span class="identifier">base_from_member</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span><span class="special">&gt;,</span> <span class="keyword">public</span> <span class="identifier">lightweight_stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">explicit</span> <span class="identifier">stopwatch</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">stopwatch</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">dont_start_t</span><span class="special">&amp;</span> <span class="identifier">t</span> <span class="special">);</span>
+
+<span class="special">};</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch.c1"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch.c1" title="
+ Constructor stopwatch( system::error_code
+ &amp;)">
+ Constructor <code class="computeroutput"><span class="identifier">stopwatch</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></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">stopwatch</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effect:</strong></span> constructs and starts the
+ stopwatch.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Any exception the <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span></code> function can throw when <code class="computeroutput"><span class="identifier">ec</span></code> is <code class="computeroutput"><span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span></code>
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch.c2"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch.c2" title="
+ Constructor stopwatch( dont_start_t
+ &amp;)">
+ Constructor <code class="computeroutput"><span class="identifier">stopwatch</span><span class="special">(</span> <span class="identifier">dont_start_t</span>
+ <span class="special">&amp;)</span></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">stopwatch</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">dont_start_t</span><span class="special">&amp;</span> <span class="identifier">t</span> <span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effect:</strong></span> constructs the stopwatch without
+ starting it.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Nothing.
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_hpp.spec"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.spec" title="
+ stopwatch_reporter_default_formatter
+ Specialization">
+ <code class="computeroutput"><span class="identifier">stopwatch_reporter_default_formatter</span></code>
+ Specialization</a>
+</h5></div></div></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">stopwatch_reporter_default_formatter</span></code>
+ of a <code class="computeroutput"><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span></code>
+ is a <code class="computeroutput"><span class="identifier">stopwatch_formatter</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_formatter</span> <span class="identifier">type</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">wstopwatch_reporter_default_formatter</span></code>
+ of a <code class="computeroutput"><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span></code>
+ is a <code class="computeroutput"><span class="identifier">wstopwatch_formatter</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">wstopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">wstopwatch_formatter</span> <span class="identifier">type</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_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch_typedefs"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_hpp.stopwatch_typedefs" title="
+ stopwatch useful typedefs">
+ <code class="computeroutput"><span class="identifier">stopwatch</span></code> useful typedefs</a>
+</h5></div></div></div>
+<p>
+ The library provides stopwatch short cuts for all the models of <code class="computeroutput"><span class="identifier">Clock</span></code>, replacing clock by stopwatch.
+ </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><span class="identifier">stopwatch</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">system_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">system_stopwatch</span><span class="special">;</span>
+<span class="preprocessor">#ifdef</span> <code class="computeroutput"><span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span></code>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">stopwatch</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">monotonic_stopwatch</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">stopwatch</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">high_resolution_stopwatch</span><span class="special">;</span>
+</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp" title="
+ Header &lt;boost/chrono/stopwatch_accumulator.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_accumulator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.spec">
+ <code class="computeroutput"><span class="identifier">stopwatch_reporter_default_formatter</span></code>
+ Specialization</a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator_typedefs">
+ <code class="computeroutput"><span class="identifier">stopwatch_accumulator</span></code> useful
+ typedefs</a></span></dt>
+</dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Features</span><span class="special">=</span><span class="identifier">accumulators</span><span class="special">::</span><span class="identifier">features</span><span class="special">&lt;</span>
+ <span class="identifier">accumulators</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">count</span><span class="special">,</span>
+ <span class="identifier">accumulators</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">accumulators</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">min</span><span class="special">,</span>
+ <span class="identifier">accumulators</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">max</span><span class="special">,</span>
+ <span class="identifier">accumulators</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="keyword">typename</span> <span class="identifier">Weight</span><span class="special">=</span><span class="keyword">void</span>
+ <span class="special">&gt;</span> <span class="keyword">class</span> <a href="stopwatches.html#boost_stopwatches.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">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Accumulator</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Accumulator</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_accumulator_formatter</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Accumulator</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">wstopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Accumulator</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">wstopwatch_accumulator_formatter</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">below</span><span class="special">&gt;</span> <span class="identifier">system_stopwatch_accumulator</span><span class="special">;</span>
+<span class="preprocessor">#ifdef</span> <code class="computeroutput"><span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span></code>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">below</span><span class="special">&gt;</span> <span class="identifier">monotonic_stopwatch_accumulator</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">below</span><span class="special">&gt;</span> <span class="identifier">high_resolution_stopwatch_accumulator</span><span class="special">;</span>
+
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator" title="
+ Template Class stopwatch_accumulator&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator.stopwatch_accumulator_c">
+ Constructor <code class="computeroutput"><span class="identifier">stopwatch_accumulator</span><span class="special">()</span></code></a></span></dt></dl></div>
+<p>
+ A <code class="computeroutput"><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span></code> is a model of a <a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_req" title="
+ Stopwatch Requirements"><code class="computeroutput"><span class="identifier">Stopwatch</span></code> concept</a> that allows
+ to accumulate the time in several times instead of at once as it is the
+ case of the class <a href="stopwatches.html#boost_stopwatches.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>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Features</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Weight</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">stopwatch_accumulator</span>
+ <span class="special">:</span> <span class="keyword">private</span> <span class="identifier">base_from_member</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">accumulators</span><span class="special">::</span><span class="identifier">accumulator_set</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span><span class="special">::</span><span class="identifier">rep</span><span class="special">,</span> <span class="identifier">Features</span><span class="special">,</span> <span class="identifier">Weight</span><span class="special">&gt;</span> <span class="special">&gt;,</span>
+ <span class="keyword">public</span> <span class="identifier">lightweight_stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span><span class="identifier">Features</span><span class="special">,</span><span class="identifier">Weight</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">stopwatch_accumulator</span><span class="special">(</span> <span class="special">);</span>
+<span class="special">};</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator.stopwatch_accumulator_c"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator.stopwatch_accumulator_c" title="
+ Constructor stopwatch_accumulator()">
+ Constructor <code class="computeroutput"><span class="identifier">stopwatch_accumulator</span><span class="special">()</span></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="identifier">stopwatch_accumulator</span><span class="special">();</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effect:</strong></span> Initialize the elapsed duration
+ and the times counter to 0.
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.spec"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.spec" title="
+ stopwatch_reporter_default_formatter
+ Specialization">
+ <code class="computeroutput"><span class="identifier">stopwatch_reporter_default_formatter</span></code>
+ Specialization</a>
+</h5></div></div></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">stopwatch_reporter_default_formatter</span></code>
+ of a <code class="computeroutput"><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span></code> is a <code class="computeroutput"><span class="identifier">stopwatch_accumulator_formatter</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Accumulator</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Accumulator</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">stopwatch_accumulator_formatter</span> <span class="identifier">type</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">wstopwatch_reporter_default_formatter</span></code>
+ of a <code class="computeroutput"><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span></code> is a <code class="computeroutput"><span class="identifier">wstopwatch_accumulator_formatter</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Accumulator</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">wstopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Accumulator</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">wstopwatch_accumulator_formatter</span> <span class="identifier">type</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_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator_typedefs"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_accumulator_hpp.stopwatch_accumulator_typedefs" title="
+ stopwatch_accumulator useful
+ typedefs">
+ <code class="computeroutput"><span class="identifier">stopwatch_accumulator</span></code> useful
+ typedefs</a>
+</h5></div></div></div>
+<p>
+ The library provides stopwatch_accumulator shortcuts for all the models
+ of <code class="computeroutput"><span class="identifier">Clock</span></code>, replacing clock
+ by stopwatch_accumulator.
+ </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><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">system_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">system_stopwatch_accumulator</span><span class="special">;</span>
+<span class="preprocessor">#ifdef</span> <code class="computeroutput"><span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span></code>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">monotonic_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">monotonic_stopwatch_accumulator</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span> <span class="special">&gt;</span>
+ <span class="identifier">high_resolution_stopwatch_accumulator</span><span class="special">;</span>
+</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_scoped_hpp"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_scoped_hpp" title="
+ Header &lt;boost/chrono/stopwatch_scoped.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch_scoped</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_scoped_hpp.stopwatch_runner">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_runner</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_scoped_hpp.stopwatch_suspender">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_suspender</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_scoped_hpp.stopwatch_resumer">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_resumer</span><span class="special">&lt;&gt;</span></code></a></span></dt>
+</dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Stopwatch</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">stopwatch_runner</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">class</span> <span class="identifier">stopwatch_suspender</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">class</span> <span class="identifier">stopwatch_resumer</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ Boost.Chrono provides some helper classes ensuring pairwised operations
+ (start/stop, suspend/resume, resule/suspend).
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_stopwatches.reference.stopwatches.stopwatch_scoped_hpp.stopwatch_runner"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_scoped_hpp.stopwatch_runner" title="
+ Template Class stopwatch_runner&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_runner</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ This helper class ensures that the start/stop are pairwised. Start the
+ associated accumulator at construction time, and stop it at destruction
+ time.
+ </p>
+<pre class="programlisting"><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">class</span> <span class="identifier">stopwatch_runner</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">Stopwatch</span> <span class="identifier">stopwatch</span><span class="special">;</span>
+ <span class="identifier">stopwatch_runner</span><span class="special">(</span><span class="identifier">stopwatch</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span><span class="special">);</span>
+ <span class="special">~</span><span class="identifier">stopwatch_runner</span><span class="special">();</span>
+ <span class="identifier">stopwatch_runner</span><span class="special">()</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span>
+ <span class="identifier">stopwatch_runner</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">stopwatch_runner</span><span class="special">&amp;)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span>
+ <span class="identifier">stopwatch_runner</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="keyword">const</span> <span class="identifier">stopwatch_runner</span><span class="special">&amp;)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ Usage
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f1</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">static</span> <span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span> <span class="identifier">t</span><span class="special">;</span>
+ <span class="identifier">stopwatch_runner</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span> <span class="special">&gt;</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">t</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_stopwatches.reference.stopwatches.stopwatch_scoped_hpp.stopwatch_suspender"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_scoped_hpp.stopwatch_suspender" title="
+ Template Class stopwatch_suspender&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_suspender</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ This helper class ensures that the suspend/resume are pairwised. Suspend
+ the associated accumulator at construction time, and resume it at destruction
+ time.
+ </p>
+<pre class="programlisting"><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">class</span> <span class="identifier">stopwatch_suspender</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">Stopwatch</span> <span class="identifier">stopwatch</span><span class="special">;</span>
+ <span class="identifier">stopwatch_suspender</span><span class="special">(</span><span class="identifier">stopwatch</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span><span class="special">);</span>
+ <span class="special">~</span><span class="identifier">stopwatch_suspender</span><span class="special">();</span>
+ <span class="identifier">stopwatch_suspender</span><span class="special">()</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span>
+ <span class="identifier">stopwatch_suspender</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">stopwatch_suspender</span><span class="special">&amp;)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span>
+ <span class="identifier">stopwatch_suspender</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="keyword">const</span> <span class="identifier">stopwatch_suspender</span><span class="special">&amp;)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Usage
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f1</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">static</span> <span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span> <span class="identifier">t</span><span class="special">;</span>
+ <span class="identifier">stopwatch_runner</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span> <span class="special">&gt;</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">t</span><span class="special">);</span>
+ <span class="comment">// ...
+</span>
+ <span class="comment">// call to some function we don't want to measure
+</span> <span class="special">{</span>
+ <span class="identifier">stopwatch_suspender</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span> <span class="special">&gt;</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">t</span><span class="special">);</span>
+ <span class="identifier">external_function</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_stopwatches.reference.stopwatches.stopwatch_scoped_hpp.stopwatch_resumer"></a><a href="stopwatches.html#boost_stopwatches.reference.stopwatches.stopwatch_scoped_hpp.stopwatch_resumer" title="
+ Template Class stopwatch_resumer&lt;&gt;">
+ Template Class <code class="computeroutput"><span class="identifier">stopwatch_resumer</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<p>
+ This helper class ensures that the resume/suspend are pairwised. Resume
+ the associated accumulator at construction time, and suspecd it at destruction
+ time.
+ </p>
+<pre class="programlisting"><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">class</span> <span class="identifier">stopwatch_resumer</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">Stopwatch</span> <span class="identifier">stopwatch</span><span class="special">;</span>
+ <span class="identifier">stopwatch_resumer</span><span class="special">(</span><span class="identifier">stopwatch</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span><span class="special">);</span>
+ <span class="special">~</span><span class="identifier">stopwatch_resumer</span><span class="special">();</span>
+ <span class="identifier">stopwatch_resumer</span><span class="special">()</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span>
+ <span class="identifier">stopwatch_resumer</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">stopwatch_resumer</span><span class="special">&amp;)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span>
+ <span class="identifier">stopwatch_resumer</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="keyword">const</span> <span class="identifier">stopwatch_resumer</span><span class="special">&amp;)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Usage
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f1</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">static</span> <span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span> <span class="identifier">t</span><span class="special">;</span>
+ <span class="identifier">stopwatch_runner</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span> <span class="special">&gt;</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">t</span><span class="special">);</span>
+ <span class="comment">// ...
+</span>
+ <span class="comment">// call to some function we don't want to measure
+</span> <span class="special">{</span>
+ <span class="identifier">stopwatch_suspender</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span> <span class="special">&gt;</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">t</span><span class="special">);</span>
+
+ <span class="special">{</span>
+ <span class="identifier">stopwatch_resumer</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span> <span class="special">&gt;</span> <span class="identifier">_</span><span class="special">(</span><span class="identifier">t</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>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reporters.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/users_guide.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/users_guide.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Users'Guide</title>
+<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../index.html" title="Boost.Stopwatches">
+<link rel="prev" href="overview/description.html" title="Description">
+<link rel="next" href="users_guide/getting_started.html" title=" Getting
+ Started">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview/description.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="users_guide/getting_started.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_stopwatches.users_guide"></a> Users'Guide
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="users_guide/getting_started.html"> Getting
+ Started</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="users_guide/getting_started.html#boost_stopwatches.users_guide.getting_started.install">
+ Installing <span class="bold"><strong>Boost.Stopwatches</strong></span></a></span></dt>
+<dt><span class="section"><a href="users_guide/getting_started.html#boost_stopwatches.users_guide.getting_started.hello_world__">Hello
+ World! </a></span></dt>
+</dl></dd>
+<dt><span class="section">Tutorial</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="users_guide/tutorial.html#boost_stopwatches.users_guide.tutorial.stopwatches_and_stopclocks">Stopwatches
+ and Stopclocks</a></span></dt>
+<dt><span class="section">Formatters</span></dt>
+</dl></dd>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview/description.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="users_guide/getting_started.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/users_guide/getting_started.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/users_guide/getting_started.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,303 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title> Getting
+ Started</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../users_guide.html" title=" Users'Guide">
+<link rel="prev" href="../users_guide.html" title=" Users'Guide">
+<link rel="next" href="tutorial.html" title="Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../users_guide.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.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="tutorial.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.users_guide.getting_started"></a><a href="getting_started.html" title=" Getting
+ Started"> Getting
+ Started</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="getting_started.html#boost_stopwatches.users_guide.getting_started.install">
+ Installing <span class="bold"><strong>Boost.Stopwatches</strong></span></a></span></dt>
+<dt><span class="section"><a href="getting_started.html#boost_stopwatches.users_guide.getting_started.hello_world__">Hello
+ World! </a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.users_guide.getting_started.install"></a><a href="getting_started.html#boost_stopwatches.users_guide.getting_started.install" title="
+ Installing Boost.Stopwatches">
+ Installing <span class="bold"><strong>Boost.Stopwatches</strong></span></a>
+</h4></div></div></div>
+<a name="boost_stopwatches.users_guide.getting_started.install.getting__emphasis_role__bold__boost_stopwatches__emphasis__"></a><h5>
+<a name="id4949416"></a>
+ <a href="getting_started.html#boost_stopwatches.users_guide.getting_started.install.getting__emphasis_role__bold__boost_stopwatches__emphasis__">Getting
+ <span class="bold"><strong>Boost.Stopwatches</strong></span> </a>
+ </h5>
+<p>
+ You can get the last stable release of <span class="bold"><strong>Boost.Stopwatches</strong></span>
+ by downloading <code class="literal">stopwatches.zip</code> from the <a href="http://www.boost-consulting.com/vault/index.php?directory=System" target="_top">Boost
+ Vault</a>
+ </p>
+<p>
+ You can also access the latest (unstable?) state from the <a href="https://svn.boost.org/svn/boost/sandbox/chrono" target="_top">Boost
+ Sandbox</a>. Just go to here
+ and follow the instructions there for anonymous SVN access.
+ </p>
+<a name="boost_stopwatches.users_guide.getting_started.install.where_to_install__emphasis_role__bold__boost_stopwatches__emphasis___"></a><h5>
+<a name="id4949486"></a>
+ <a href="getting_started.html#boost_stopwatches.users_guide.getting_started.install.where_to_install__emphasis_role__bold__boost_stopwatches__emphasis___">Where
+ to install <span class="bold"><strong>Boost.Stopwatches</strong></span>? </a>
+ </h5>
+<p>
+ The simple way is to decompress (or checkout from SVN) the file in your
+ BOOST_ROOT directory.
+ </p>
+<p>
+ Othesewise, if you decompress in a different directory, you will need to
+ comment some lines, and uncomment and change others in the build/Jamfile
+ and test/Jamfile. Sorry for this, but I have not reached yet to write a
+ Jamfile that is able to work in both environements and use the BOOST_ROOT
+ variable. Any help is welcome.
+ </p>
+<a name="boost_stopwatches.users_guide.getting_started.install.building__emphasis_role__bold__boost_stopwatches__emphasis__"></a><h5>
+<a name="id4949529"></a>
+ <a href="getting_started.html#boost_stopwatches.users_guide.getting_started.install.building__emphasis_role__bold__boost_stopwatches__emphasis__">Building
+ <span class="bold"><strong>Boost.Stopwatches</strong></span> </a>
+ </h5>
+<p>
+ <span class="bold"><strong>Boost.Stopwatches</strong></span> is a header only library.
+ </p>
+<a name="boost_stopwatches.users_guide.getting_started.install.requirements"></a><h5>
+<a name="id4949565"></a>
+ Requirements
+ </h5>
+<p>
+ <span class="bold"><strong>Boost.Stopwatches</strong></span> depends on some Boost
+ libraries. For these specific parts you must use either Boost version 1.44.0
+ or the version in SVN trunk (even if older versions should works also).
+ </p>
+<p>
+ In particular, <span class="bold"><strong>Boost.Stopwatches</strong></span> depends
+ on:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term">Boost.Chrono</span></dt>
+<dd><p>
+ for ratio, ...
+ </p></dd>
+<dt><span class="term">Boost.Config</span></dt>
+<dd><p>
+ for configuration purposes, ...
+ </p></dd>
+<dt><span class="term">Boost.Exception</span></dt>
+<dd><p>
+ for throw_exception, ...
+ </p></dd>
+<dt><span class="term">Boost.System</span></dt>
+<dd><p>
+ for error_code, ...
+ </p></dd>
+<dt><span class="term">Boost.TypeTraits</span></dt>
+<dd><p>
+ for is_base, ...
+ </p></dd>
+<dt><span class="term">Boost.UtiliTy/EnableIf</span></dt>
+<dd><p>
+ for enable_if, ...
+ </p></dd>
+</dl>
+</div>
+<p>
+ <span class="bold"><strong>Boost.Stopwatches</strong></span> depends optionaly on:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term">Boost.Accumulator</span></dt>
+<dd><p>
+ for accumulator_set, and statistics features when stopwatch_accumulator.hpp
+ is included
+ </p></dd>
+</dl>
+</div>
+<a name="boost_stopwatches.users_guide.getting_started.install.building_an_executable_that_uses__emphasis_role__bold__boost_stopwatches__emphasis__"></a><h5>
+<a name="id4949779"></a>
+ <a href="getting_started.html#boost_stopwatches.users_guide.getting_started.install.building_an_executable_that_uses__emphasis_role__bold__boost_stopwatches__emphasis__">Building
+ an executable that uses <span class="bold"><strong>Boost.Stopwatches</strong></span>
+ </a>
+ </h5>
+<p>
+ 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.
+ </p>
+<a name="boost_stopwatches.users_guide.getting_started.install.exceptions_safety_"></a><h5>
+<a name="id4949817"></a>
+ <a href="getting_started.html#boost_stopwatches.users_guide.getting_started.install.exceptions_safety_">Exceptions
+ safety </a>
+ </h5>
+<p>
+ All functions in the library are exception-neutral and provide strong guarantee
+ of exception safety as long as the underlying parameters provide it.
+ </p>
+<a name="boost_stopwatches.users_guide.getting_started.install.thread_safety_"></a><h5>
+<a name="id4949845"></a>
+ <a href="getting_started.html#boost_stopwatches.users_guide.getting_started.install.thread_safety_">Thread
+ safety </a>
+ </h5>
+<p>
+ All functions in the library are thread-unsafe except when noted explicitly.
+ </p>
+<a name="boost_stopwatches.users_guide.getting_started.install.tested_compilers_"></a><h5>
+<a name="id4949871"></a>
+ <a href="getting_started.html#boost_stopwatches.users_guide.getting_started.install.tested_compilers_">Tested
+ compilers </a>
+ </h5>
+<p>
+ The implementation will eventually work with most C++03 conforming compilers.
+ Current version has been tested on:
+ </p>
+<p>
+ Windows with
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ MSVC 10.0
+ </li>
+<li>
+ MSVC 9.0 Express
+ </li>
+<li>
+ MSVC 8.0
+ </li>
+</ul></div>
+<p>
+ Scientific Linux with
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ GCC 4.1.2
+ </li></ul></div>
+<p>
+ Cygwin with
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ GCC 3.4.4
+ </li>
+<li>
+ GCC 4.3.2
+ </li>
+</ul></div>
+<p>
+ MinGW with
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ GCC 4.4.0
+ </li></ul></div>
+<p>
+ Initial version was tested on:
+ </p>
+<p>
+ MacOS with GCC 4.2.4
+ </p>
+<p>
+ Ubuntu Linux with GCC 4.2.4
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Please let us know how this works on other platforms/compilers.
+ </p></td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Please send any questions, comments and bug reports to boost &lt;at&gt;
+ lists &lt;dot&gt; boost &lt;dot&gt; org.
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_stopwatches.users_guide.getting_started.hello_world__"></a><a href="getting_started.html#boost_stopwatches.users_guide.getting_started.hello_world__" title="Hello
+ World! ">Hello
+ World! </a>
+</h4></div></div></div>
+<p>
+ If all you want to do is to time a program's execution:
+ </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="special">...</span>
+
+<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_stopwatches.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>
+</pre>
+<p>
+ Here is a complete program (stopclock_example.cpp):
+ </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_stopwatches.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>
+ Debug build output was:
+ </p>
+<pre class="programlisting"><span class="identifier">real</span> <span class="number">0.832</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">cpu</span> <span class="number">0.813</span><span class="identifier">s</span> <span class="special">(</span><span class="number">97.7</span><span class="special">%),</span> <span class="identifier">user</span> <span class="number">0.813</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">system</span> <span class="number">0.000</span><span class="identifier">s</span>
+</pre>
+<p>
+ In other words, the program took 0.832 real-time (i.e. wall clock) seconds
+ to execute, while the operating system (Windows in this case) charged 0.813
+ seconds of CPU time to the user and 0 seconds to the system. The total
+ CPU time reported was 0.813 seconds, and that represented utilization of
+ 97.7% of the real-time seconds.
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../users_guide.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.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="tutorial.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/users_guide/tutorial.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/boost_stopwatches/users_guide/tutorial.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,501 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Tutorial</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Stopwatches">
+<link rel="up" href="../users_guide.html" title=" Users'Guide">
+<link rel="prev" href="getting_started.html" title=" Getting
+ Started">
+<link rel="next" href="../examples.html" title="Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="getting_started.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.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="../examples.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_stopwatches.users_guide.tutorial"></a>Tutorial
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="tutorial.html#boost_stopwatches.users_guide.tutorial.stopwatches_and_stopclocks">Stopwatches
+ and Stopclocks</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="tutorial.html#boost_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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">
+<a name="boost_stopwatches.users_guide.tutorial.stopwatches_and_stopclocks"></a><a href="tutorial.html#boost_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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
+ <code class="computeroutput"><span class="identifier">Clock</span></code>. 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_stopwatches.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_stopwatches.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_stopwatches.users_guide.tutorial.stopwatches_and_stopclocks.stopwatches_accumulation_and_statistics"></a><a href="tutorial.html#boost_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_prefix_each_report_with__boost_current_function__function_signature_"></a><a href="tutorial.html#boost_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_prefix_each_report_with____file_____line_____pattern_"></a><a href="tutorial.html#boost_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.users_guide.tutorial.stopwatches_and_stopclocks.can_i_use_an_stopclock_accumulator_which_is_not_static_"></a><a href="tutorial.html#boost_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.users_guide.tutorial.stopwatches_and_stopclocks.how_can_i_suspend_a_stopwatch_"></a><a href="tutorial.html#boost_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.users_guide.tutorial.stopwatches_and_stopclocks.how_to_get_specific_statistics_from_stopwatches_accumulator_"></a><a href="tutorial.html#boost_stopwatches.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_stopwatches.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_stopwatches.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>process_real_cpu_clock<span class="special">,</span>
+ <span class="identifier">accumulator_set</span><span class="special">&lt;</span>process_real_cpu_clock<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_stopwatches.users_guide.tutorial.formatters"></a>Formatters
+</h4></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="tutorial.html#boost_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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_stopwatches.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>process_real_cpu_clock<span class="special">,</span>
+ <span class="identifier">accumulator_set</span><span class="special">&lt;</span>process_real_cpu_clock<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_stopwatches.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_stopwatches.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>process_real_cpu_clock<span class="special">,</span>
+ <span class="identifier">accumulator_set</span><span class="special">&lt;</span>process_real_cpu_clock<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> <code class="computeroutput"><span class="identifier">duration</span></code><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> <code class="computeroutput"><span class="identifier">duration</span></code><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>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="getting_started.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.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="../examples.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/index.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/index.html 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Boost.Stopwatches</title>
+<link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="Boost.Stopwatches">
+<link rel="next" href="boost_stopwatches/overview.html" title="Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="boost_stopwatches/overview.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
+<div class="article" lang="en">
+<div class="titlepage">
+<div>
+<div><h2 class="title">
+<a name="boost_stopwatches"></a>Boost.Stopwatches</h2></div>
+<div><div class="authorgroup"><div class="author"><h3 class="author">
+<span class="firstname">Vicente J.</span> <span class="surname">Botet Escriba</span>
+</h3></div></div></div>
+<div><p class="copyright">Copyright &#169; 2009 -2010 Vicente J. Botet Escriba</p></div>
+<div><div class="legalnotice">
+<a name="id4987065"></a><p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></div>
+</div>
+<hr>
+</div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section">Overview</span></dt>
+<dd><dl>
+<dt><span class="section">Motivation</span></dt>
+<dt><span class="section">Description</span></dt>
+</dl></dd>
+<dt><span class="section"> Users'Guide</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boost_stopwatches/users_guide/getting_started.html"> Getting
+ Started</a></span></dt>
+<dt><span class="section">Tutorial</span></dt>
+</dl></dd>
+<dt><span class="section">Examples</span></dt>
+<dd><dl><dt><span class="section">Reporting</span></dt></dl></dd>
+<dt><span class="section"> Reference </span></dt>
+<dd><dl>
+<dt><span class="section"> Stopwatches</span></dt>
+<dt><span class="section"> Stopwatch Reporters</span></dt>
+<dt><span class="section"> Stopwatch Formatters</span></dt>
+</dl></dd>
+<dt><span class="section">Appendices</span></dt>
+<dd><dl>
+<dt><span class="section"> Appendix A: History</span></dt>
+<dt><span class="section"><a href="boost_stopwatches/appendices/rationale.html"> Appendix B:
+ Rationale</a></span></dt>
+<dt><span class="section"><a href="boost_stopwatches/appendices/implementation.html"> Appendix
+ C: Implementation Notes</a></span></dt>
+<dt><span class="section"> Appendix D: FAQ</span></dt>
+<dt><span class="section"><a href="boost_stopwatches/appendices/acknowledgements.html"> Appendix
+ E: Acknowledgements</a></span></dt>
+<dt><span class="section"> Appendix F: Tests</span></dt>
+<dt><span class="section"> Appendix G: Tickets</span></dt>
+<dt><span class="section"> Appendix H: Performances</span></dt>
+<dt><span class="section"><a href="boost_stopwatches/appendices/todo.html"> Appendix I: Future
+ plans</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Stopwatches is not part of the Boost libraries.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"><p><small>Last revised: September 02, 2010 at 21:55:04 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="boost_stopwatches/overview.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
+</body>
+</html>

Added: sandbox/chrono/libs/stopwatches/doc/html/standalone_HTML.manifest
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/stopwatches/doc/html/standalone_HTML.manifest 2010-09-03 13:25:05 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,23 @@
+index.html
+boost_stopwatches/overview.html
+boost_stopwatches/overview/motivation.html
+boost_stopwatches/overview/description.html
+boost_stopwatches/users_guide.html
+boost_stopwatches/users_guide/getting_started.html
+boost_stopwatches/users_guide/tutorial.html
+boost_stopwatches/examples.html
+boost_stopwatches/examples/reporting.html
+boost_stopwatches/reference.html
+boost_stopwatches/reference/stopwatches.html
+boost_stopwatches/reference/reporters.html
+boost_stopwatches/reference/formatters.html
+boost_stopwatches/appendices.html
+boost_stopwatches/appendices/history.html
+boost_stopwatches/appendices/rationale.html
+boost_stopwatches/appendices/implementation.html
+boost_stopwatches/appendices/faq.html
+boost_stopwatches/appendices/acknowledgements.html
+boost_stopwatches/appendices/tests.html
+boost_stopwatches/appendices/tickets.html
+boost_stopwatches/appendices/perf.html
+boost_stopwatches/appendices/todo.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