boost/doc/html/chrono/appendices.html
2021-10-05 21:37:46 +02:00

1112 lines
60 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Appendices</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="../chrono.html" title="Chapter 7. Boost.Chrono 2.0.8">
<link rel="prev" href="reference.html" title="Reference">
<link rel="next" href="../circular_buffer.html" title="Chapter 8. Boost.Circular Buffer">
</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"><a href="../../../index.html">Home</a></td>
<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../more/index.htm">More</a></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="../chrono.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="../circular_buffer.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="chrono.appendices"></a><a class="link" href="appendices.html" title="Appendices">Appendices</a>
</h2></div></div></div>
<div class="toc"><dl class="toc">
<dt><span class="section"><a href="appendices.html#chrono.appendices.history">Appendix: History</a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.rationale">Appendix: Rationale</a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.implementation">Appendix: Implementation
Notes</a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.faq">Appendix: FAQ</a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.acknowledgements">Appendix: Acknowledgements</a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.todo">Appendix: Future plans</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="chrono.appendices.history"></a><a class="link" href="appendices.html#chrono.appendices.history" title="Appendix: History">Appendix: History</a>
</h3></div></div></div>
<div class="toc"><dl class="toc">
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_2_0_8____2018___1_70__"><span class="bold"><strong>Version 2.0.8, , 2018 - 1.70</strong></span> </a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_2_0_7__august_18__2016___1_62__"><span class="bold"><strong>Version 2.0.7, August 18, 2016 - 1.62</strong></span> </a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_2_0_6__december_18__2015___1_60__"><span class="bold"><strong>Version 2.0.6, December 18, 2015 - 1.60</strong></span> </a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_2_0_5__february_18__2015___1_58__"><span class="bold"><strong>Version 2.0.5, February 18, 2015 - 1.58</strong></span> </a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_2_0_4__july_12__2014___1_56__"><span class="bold"><strong>Version 2.0.4, July 12, 2014 - 1.56</strong></span> </a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_2_0_3__september_29__2013___1_55__"><span class="bold"><strong>Version 2.0.3, September 29, 2013 - 1.55</strong></span> </a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_2_0_2__june_15__2013___1_54__"><span class="bold"><strong>Version 2.0.2, June 15, 2013 - 1.54</strong></span> </a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_2_0_1__january_18__2013___1_53__"><span class="bold"><strong>Version 2.0.1, January 18, 2013 - 1.53</strong></span> </a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_2_0_0__october_23__2012___1_52__"><span class="bold"><strong>Version 2.0.0, October 23, 2012 - 1.52</strong></span> </a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_1_2_3__august_1__2012___1_51__"><span class="bold"><strong>Version 1.2.3, August 1, 2012 - 1.51</strong></span> </a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_1_2_2__april_1__2012___1_50__"><span class="bold"><strong>Version 1.2.2, April 1, 2012 - 1.50</strong></span> </a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_1_2_1__february_1__2012___1_49__"><span class="bold"><strong>Version 1.2.1, February 1, 2012 - 1.49</strong></span> </a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_1_2_0__october_17__2011__"><span class="bold"><strong>Version 1.2.0, October 17, 2011</strong></span> </a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_1_1_0__mars_17__2011__"><span class="bold"><strong>Version 1.1.0, Mars 17, 2011</strong></span> </a></span></dt>
<dt><span class="section"><a href="appendices.html#chrono.appendices.history.__version_1_0_0__january_6__2011__"><span class="bold"><strong>Version 1.0.0, January 6, 2011</strong></span> </a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_2_0_8____2018___1_70__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_2_0_8____2018___1_70__" title="Version 2.0.8, , 2018 - 1.70"><span class="bold"><strong>Version 2.0.8, , 2018 - 1.70</strong></span> </a>
</h4></div></div></div>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
Remove Stopwatches, which was never be delivered officially.
</li></ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_2_0_7__august_18__2016___1_62__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_2_0_7__august_18__2016___1_62__" title="Version 2.0.7, August 18, 2016 - 1.62"><span class="bold"><strong>Version 2.0.7, August 18, 2016 - 1.62</strong></span> </a>
</h4></div></div></div>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/11630" target="_top">#11630</a>
boost chrono documentation about boost chrono version &amp; io API
is wrong.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/12176" target="_top">#12176</a>
Chrono without linking to Boost.System
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/12260" target="_top">#12260</a>
Bug: time_fmt does not support for wchar_t on windows
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_2_0_6__december_18__2015___1_60__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_2_0_6__december_18__2015___1_60__" title="Version 2.0.6, December 18, 2015 - 1.60"><span class="bold"><strong>Version 2.0.6, December 18, 2015 - 1.60</strong></span> </a>
</h4></div></div></div>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/11330" target="_top">#11330</a>
boost::chrono::duration default constructor doesn't initialize rep_
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/11618" target="_top">#11618</a>
Chrono IO V2 doc ios_state.hpp does not exist
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/11631" target="_top">#11631</a>
boost chrono io v2 does not let you support custom clocks
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_2_0_5__february_18__2015___1_58__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_2_0_5__february_18__2015___1_58__" title="Version 2.0.5, February 18, 2015 - 1.58"><span class="bold"><strong>Version 2.0.5, February 18, 2015 - 1.58</strong></span> </a>
</h4></div></div></div>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/10778" target="_top">#10778</a>
VC14 CTP4 Atomic don't compile with boost::chrono durations which are
not TriviallyCopyable
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/10840" target="_top">#10840</a>
Missing std:: qualifier for puts call in test_7868.cpp
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/10851" target="_top">#10851</a>
Missing std:: qualifier for puts call in time_point_output.cpp
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/10893" target="_top">#10893</a>
Minor doc typo in Boost.Chrono
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/10992" target="_top">#10992</a>
Chrono IO state savers inconsistent with Boost.IO state savers
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/10995" target="_top">#10995</a>
duration_put::put_value truncates fractional part
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/11006" target="_top">#11006</a>
Impossible to instantiate time_fmt_io_saver due to several errors.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/11012" target="_top">#11012</a>
chrono_io v2 fail to compile with boost::chrono::duration&lt; boost::rational&lt;int&gt;
&gt;
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_2_0_4__july_12__2014___1_56__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_2_0_4__july_12__2014___1_56__" title="Version 2.0.4, July 12, 2014 - 1.56"><span class="bold"><strong>Version 2.0.4, July 12, 2014 - 1.56</strong></span> </a>
</h4></div></div></div>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/6918" target="_top">#6918</a>
Boost Chrono compilation failure on HP uX due to undefined pthread_getcpuclockid
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/8006" target="_top">#8006</a>
Boost::Chrono Assertion at startup - steady_clock::now() - Windows
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/9337" target="_top">#9337</a>
chrono::process_cpu_clock time points wrong by factor 1000 on Linux
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/9342" target="_top">#9342</a>
Regression on process_cpu_clock::timepoint io on V2
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/9419" target="_top">#9419</a>
boost::chrono::floor()/round() and negative durations is wrong
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/9698" target="_top">#9698</a>
boost::chrono::thread_clock not declared in OSX
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/9720" target="_top">#9720</a>
boost::this_thread::sleep_for() sometimes returns immediately on win32
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/9859" target="_top">#9859</a>
Remove references to gcc-mingw
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/9918" target="_top">#9918</a>
chrono compilation error on Solaris, function timegm
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/9811" target="_top">#9811</a>
boost/boost/chrono/duration.hpp:355:56: error: call to non-constexpr
function 'static std::numeric_limits&lt;float&gt;::_Ty std::numeric_limits&lt;float&gt;::max()'
/home/zosun/input_service/inputservices-core-service/other/boost/boost/chrono/duration.hpp:
In static member function 'static constexpr double boost::chrono::detail::chrono_numeric_limits&lt;double,
true&gt;::lowest()':
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/10069" target="_top">#10069</a>
Overflow in chrono clocks on 32bit
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/10151" target="_top">#10151</a>
timegm function not available on QNX
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_2_0_3__september_29__2013___1_55__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_2_0_3__september_29__2013___1_55__" title="Version 2.0.3, September 29, 2013 - 1.55"><span class="bold"><strong>Version 2.0.3, September 29, 2013 - 1.55</strong></span> </a>
</h4></div></div></div>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7868" target="_top">#7868</a>
chrono_io parses time incorrectly (1.53 and 1.52)
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/9028" target="_top">#9028</a>
Typo in boost/chrono/stopwatches/formatters/base_formatter.hpp
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/9147" target="_top">#9147</a>
uninitialized std::tm
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/9274" target="_top">#9274</a>
lost of precision on system_clock input.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/9276" target="_top">#9276</a>
output from a system_clock::time_point get a time_point that is one
day later than expected.
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_2_0_2__june_15__2013___1_54__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_2_0_2__june_15__2013___1_54__" title="Version 2.0.2, June 15, 2013 - 1.54"><span class="bold"><strong>Version 2.0.2, June 15, 2013 - 1.54</strong></span> </a>
</h4></div></div></div>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/8079" target="_top">#8079</a>
Chrono memory leak
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/8318" target="_top">#8318</a>
BOOST_FORCEINLINE constructors of time_point and duration
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/8367" target="_top">#8367</a>
chrono does not compile with clang from XCode 4.5.2 with -std=c++11
-stdlib=libc++ and -arch armv7
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/8370" target="_top">#8370</a>
typo in chrono reference
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/8435" target="_top">#8435</a>
Can't compile Chrono on HP-UX due to no CLOCK_REALTIME macro.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/8690" target="_top">#8690</a>
duration_units_default - lost return types constness in overridden
methods.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/8691" target="_top">#8691</a>
iostate is not checked after scan_keyword call.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/8696" target="_top">#8696</a>
chrono compilation error on Solaris/gcc.
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_2_0_1__january_18__2013___1_53__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_2_0_1__january_18__2013___1_53__" title="Version 2.0.1, January 18, 2013 - 1.53"><span class="bold"><strong>Version 2.0.1, January 18, 2013 - 1.53</strong></span> </a>
</h4></div></div></div>
<p>
<span class="bold"><strong>Deprecated:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
The chrono i/o version included in Boost.Chrono 1.2.x has been completly
refactored in version 2.0.0
</li>
<li class="listitem">
chrono I/O: The manipulators <a class="link" href="reference.html#chrono.reference.io_v1.chrono_io_hpp.manipulators" title="I/O Manipulators"><code class="computeroutput"><span class="identifier">duration_short</span></code></a>, <a class="link" href="reference.html#chrono.reference.io_v1.chrono_io_hpp.manipulators" title="I/O Manipulators"><code class="computeroutput"><span class="identifier">duration_long</span></code></a> are deprecated.
You should use the parameterized form <a class="link" href="reference.html#chrono.reference.io.duration_io_hpp.manipulators.duration_fmt" title="Template Class duration_fmt"><code class="computeroutput"><span class="identifier">duration_fmt</span></code></a> or the renamed
manipulators __duration_symbol and __duration_prefix instead.
</li>
<li class="listitem">
chrono I/O: The <a class="link" href="reference.html#chrono.reference.io_v1.chrono_io_hpp.duration_punct" title="Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a>&lt;&gt; facet
is deprecated. You should use the <a class="link" href="reference.html#chrono.reference.io.ios_state_hpp.sag.get_duration_style" title="Non Member Function get_duration_style(std::ios_base &amp;)"><code class="computeroutput"><span class="identifier">get_duration_style</span></code></a> free function
to get the informations and use the <a class="link" href="reference.html#chrono.reference.io.duration_units_hpp.duration_units" title="Template Class duration_units"><code class="computeroutput"><span class="identifier">duration_units</span></code></a> facet for localization
purposes.
</li>
</ul></div>
<p>
When BOOST_CHRONO_VERSION==2 the preceding deprecated functions are not
available.
</p>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7546" target="_top">#7546</a>
time_point&lt;system_clock&gt; output version 2 fails to compile assigned
viboes Bugs Boost 1.53.0 --
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7547" target="_top">#7547</a>
time_point&lt;system_clock&gt; input version 2 fails to compile assigned
viboes Bugs Boost 1.53.0 --
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7868" target="_top">#7868</a>
chrono_io parses time incorrectly (1.53 and 1.52)
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_2_0_0__october_23__2012___1_52__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_2_0_0__october_23__2012___1_52__" title="Version 2.0.0, October 23, 2012 - 1.52"><span class="bold"><strong>Version 2.0.0, October 23, 2012 - 1.52</strong></span> </a>
</h4></div></div></div>
<p>
<span class="bold"><strong>New Features:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
Enhance chrono I/O
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5980" target="_top">#5980</a>
Enhance chrono I/O with H. Hinnant proposal <a href="http://home.roadrunner.com/~hinnant/bloomington/chrono_io.html" target="_top">proposal</a>
which has the advantage to provide I/O for system clocks using
the Gregorian Calendar.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5981" target="_top">#5981</a>
Add i/o state savers for duration and time_point formatting state.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7059" target="_top">#7059</a>
Add low level i/o facilities.
</li>
</ul></div>
</li></ul></div>
<p>
<span class="bold"><strong>Deprecated:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
The chrono i/o version included in Boost.Chrono 1.2.x has been completly
refactored in version 2.0.0
</li>
<li class="listitem">
chrono I/O: The manipulators <a class="link" href="reference.html#chrono.reference.io_v1.chrono_io_hpp.manipulators" title="I/O Manipulators"><code class="computeroutput"><span class="identifier">duration_short</span></code></a>, <a class="link" href="reference.html#chrono.reference.io_v1.chrono_io_hpp.manipulators" title="I/O Manipulators"><code class="computeroutput"><span class="identifier">duration_long</span></code></a> are deprecated.
You should use the parameterized form <a class="link" href="reference.html#chrono.reference.io.duration_io_hpp.manipulators.duration_fmt" title="Template Class duration_fmt"><code class="computeroutput"><span class="identifier">duration_fmt</span></code></a> or the renamed
manipulators __duration_symbol and __duration_prefix instead.
</li>
<li class="listitem">
chrono I/O: The <a class="link" href="reference.html#chrono.reference.io_v1.chrono_io_hpp.duration_punct" title="Template Class duration_punct&lt;&gt;"><code class="computeroutput"><span class="identifier">duration_punct</span></code></a>&lt;&gt; facet
is deprecated. You should use the <a class="link" href="reference.html#chrono.reference.io.ios_state_hpp.sag.get_duration_style" title="Non Member Function get_duration_style(std::ios_base &amp;)"><code class="computeroutput"><span class="identifier">get_duration_style</span></code></a> free function
to get the informations and use the <a class="link" href="reference.html#chrono.reference.io.duration_units_hpp.duration_units" title="Template Class duration_units"><code class="computeroutput"><span class="identifier">duration_units</span></code></a> facet for localization
purposes.
</li>
</ul></div>
<p>
When BOOST_CHRONO_VERSION==2 the preceding deprecated functions are not
available.
</p>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7381" target="_top">#7381</a>
C++11 compliance: unresolved symbol when assigning a constexpr duration
to a non-const local variable.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7479" target="_top">#7479</a>
Compiles fails with compilers supporting constexpr fails if the standard
library doesn't provides the constexpr interface
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7493" target="_top">#7493</a>
compile fail on intel-linux-12.1.3.0x because of bug on explicit bool
conversion
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7542" target="_top">#7542</a>
Missing -lpthread in chrono/io tester Sandia-clang-trunk
</li>
</ul></div>
<p>
<span class="bold"><strong>Would not fix:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/6871" target="_top">#6871</a>
chrono_io.hpp: operator&lt;&lt;(ostream&amp; os, ...) modifies the
state of os.
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
The new io interface provided in version 2 solves this issue.
You should move to the new version.
</li></ul></div>
</li></ul></div>
<p>
<span class="bold"><strong>Known bugs not fixed yet:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7525" target="_top">#7525</a>
Wrong clock_string&lt;system_clock&gt;::since() on Windows
</li></ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_1_2_3__august_1__2012___1_51__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_1_2_3__august_1__2012___1_51__" title="Version 1.2.3, August 1, 2012 - 1.51"><span class="bold"><strong>Version 1.2.3, August 1, 2012 - 1.51</strong></span> </a>
</h4></div></div></div>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/6918" target="_top">#6918</a>
Boost Chrono compilation failure on HP uX due to undefined pthread_getcpuclockid.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/6241" target="_top">#6241</a>
boost::chrono compilation problems without std::wstring support.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/6987" target="_top">#6987</a>
Documentation &amp; C++11.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7041" target="_top">#7041</a>
time_point.hpp depends on Boost.System.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7042" target="_top">#7042</a>
Avoiding time_point and duration dependency on time.h and CLOCK_REALTIME.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7058" target="_top">#7058</a>
Make it work when BOOST_NO_EXCEPTIONS is defined.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7069" target="_top">#7069</a>
Misspellings in clock_string&lt;thread_clock&gt;.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/7081" target="_top">#7081</a>
WinError.h capitalization in boost/detail/win/basic_types.hpp.
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_1_2_2__april_1__2012___1_50__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_1_2_2__april_1__2012___1_50__" title="Version 1.2.2, April 1, 2012 - 1.50"><span class="bold"><strong>Version 1.2.2, April 1, 2012 - 1.50</strong></span> </a>
</h4></div></div></div>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/6361" target="_top">#6361</a>
integer overflow in boost::chrono::process_real_cpu_clock::now() under
Windows 32bits.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/6628" target="_top">#6628</a>
compiler warning in process_cpu_clocks.hpp.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/6666" target="_top">#6666</a>
thread_clock.hpp needs pthread.h.
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_1_2_1__february_1__2012___1_49__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_1_2_1__february_1__2012___1_49__" title="Version 1.2.1, February 1, 2012 - 1.49"><span class="bold"><strong>Version 1.2.1, February 1, 2012 - 1.49</strong></span> </a>
</h4></div></div></div>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/6092" target="_top">#6092</a>
Input from non integral durations makes the compiler fail.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/6093" target="_top">#6093</a>
[1/3]second fails as valid duration input.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/6113" target="_top">#6113</a>
duplicate symbol when BOOST_CHRONO_HEADER_ONLY is defined.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/6243" target="_top">#6243</a>
Sandia-pgi-11.9: more than one instance of overloaded function "min"
matches.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/6257" target="_top">#6257</a>
process_cpu_clock::now() on linux gives time_points 1/1000 times.
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_1_2_0__october_17__2011__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_1_2_0__october_17__2011__" title="Version 1.2.0, October 17, 2011"><span class="bold"><strong>Version 1.2.0, October 17, 2011</strong></span> </a>
</h4></div></div></div>
<p>
<span class="bold"><strong>New Features:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5979" target="_top">#5979</a>
Added chrono rounding utilities as defined By Howard Hinnant <a href="http://home.roadrunner.com/~hinnant/duration_io/chrono_util.html" target="_top">here</a>.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5978" target="_top">#5978</a>
Added BOOST_CHRONO_HAS_PROCESS_CLOCKS to know if process clocks are
available.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5998" target="_top">#5998</a>
Make possible to don't provide hybrid error handling.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5906" target="_top">#5906</a>
Take in account the constexpr as defined in the standard.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5907" target="_top">#5907</a>
Take in account noexcept for compilers supporting it.
</li>
</ul></div>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/2114" target="_top">#2114</a>
Enable visibility support (Boost.Chorno part)
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5669" target="_top">#5669</a>
Intel compiler failure to compile duration.hpp
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5909" target="_top">#5909</a>
process_cpu_clock::now() on MAC gives time_points 1/1000 times.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5946" target="_top">#5946</a>
Process real cpu clock returns the system steady clock (windows).
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5974" target="_top">#5974</a>
Process real cpu clock should use clock() instead of times() in MAC
which is twice faster and have better resolution.
</li>
</ul></div>
<p>
<span class="bold"><strong>Cleanup:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5975" target="_top">#5975</a>
Reduce the combinations of header-only, shared, static link to reduce
test time by 50%.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5976" target="_top">#5976</a>
chrono_accuracy_test is not deterministic and should be removed from
the regression tests
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5977" target="_top">#5977</a>
Remove old files from Beman's version. Some old files included in the
Beman's version and not documented in the reviewed version that have
been definitely removed from the repository as
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
<li class="listitem">
boost/chrono/timer.hpp,
</li>
<li class="listitem">
boost/chrono/process_times.hpp
</li>
<li class="listitem">
boost/chrono/detail/process_clock.hpp,
</li>
<li class="listitem">
boost/chrono/detail/mac/process_clock.hpp,
</li>
<li class="listitem">
boost/chrono/detail/posix/process_clock.hpp,
</li>
<li class="listitem">
boost/chrono/detail/win/process_clock.hpp,
</li>
<li class="listitem">
boost/chrono/detail/run_timer.hpp,
</li>
<li class="listitem">
boost/chrono/detail/run_timer_static.hpp,
</li>
</ul></div>
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_1_1_0__mars_17__2011__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_1_1_0__mars_17__2011__" title="Version 1.1.0, Mars 17, 2011"><span class="bold"><strong>Version 1.1.0, Mars 17, 2011</strong></span> </a>
</h4></div></div></div>
<p>
<span class="bold"><strong>New Features:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/????" target="_top">#????</a>
Added time_point unary operators +,-,++,-- and binary operators +<code class="literal">,-</code>
with Rep al RHS.
</li>
<li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5323" target="_top">#5323</a>
Add Associated type difference_type for chrono::time_point.
</li>
</ul></div>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<a href="http://svn.boost.org/trac/boost/ticket/5322" target="_top">#5322</a>
Explicit default constructed chrono::durations are uninitialized
</li></ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="chrono.appendices.history.__version_1_0_0__january_6__2011__"></a><a class="link" href="appendices.html#chrono.appendices.history.__version_1_0_0__january_6__2011__" title="Version 1.0.0, January 6, 2011"><span class="bold"><strong>Version 1.0.0, January 6, 2011</strong></span> </a>
</h4></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Moved chrono to trunk taking in account the review remarks.
</li>
<li class="listitem">
Documentation revision.
</li>
</ul></div>
<p>
<span class="bold"><strong>Features:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Boost_Chrono is now a configurable header-only library version (that
also allows the user to choose if the <code class="computeroutput"><span class="identifier">windows</span><span class="special">.</span><span class="identifier">h</span></code>
file is included or not).
</li>
<li class="listitem">
Added clock_string&lt;&gt; traits.
</li>
<li class="listitem">
Define chrono-io for all the clocks.
</li>
<li class="listitem">
Add input of process_times representation.
</li>
</ul></div>
<p>
<span class="bold"><strong>Implementation:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Use of detail/win files to avoid the use of windows.h file.
</li>
<li class="listitem">
Completed the error_code handling.
</li>
<li class="listitem">
Works now with BOOST_SYSTEM_NO_DEPRECATED.
</li>
</ul></div>
<p>
<span class="bold"><strong>Fixes:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Fix some warnings.
</li>
<li class="listitem">
Fix original errors on Mac
</li>
<li class="listitem">
Don't fix the link with boost_system to static.
</li>
</ul></div>
<p>
<span class="bold"><strong>Test:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Added test on process and thread clocks.
</li>
<li class="listitem">
Moved to lightweight_test.hpp.
</li>
<li class="listitem">
Able to test multiple configurations.
</li>
</ul></div>
<p>
<span class="bold"><strong>Doc:</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
Removed some not useful parts as the test and the tickets.
</li></ul></div>
</div>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="chrono.appendices.rationale"></a><a class="link" href="appendices.html#chrono.appendices.rationale" title="Appendix: Rationale">Appendix: Rationale</a>
</h3></div></div></div>
<p>
See <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2661.htm" target="_top"><span class="bold"><strong>N2661 - A Foundation to Sleep On</strong></span></a> which is
very informative and provides motivation for key design decisions. This section
contains some extracts from this document.
</p>
<h5>
<a name="chrono.appendices.rationale.h0"></a>
<span class="phrase"><a name="chrono.appendices.rationale.why_duration_needs_operator_"></a></span><a class="link" href="appendices.html#chrono.appendices.rationale.why_duration_needs_operator_">Why duration
needs operator%</a>
</h5>
<p>
This operator is convenient for computing where in a time frame a given duration
lies. A motivating example is converting a duration into a "broken-down"
time duration such as hours::minutes::seconds:
</p>
<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">ClockTime</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">public</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="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">ClockTime</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> <span class="identifier">hours_</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">duration_cast</span><span class="special">&lt;</span><span class="identifier">hours</span><span class="special">&gt;</span> <span class="special">(</span><span class="identifier">d</span><span class="special">)),</span>
<span class="identifier">minutes_</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">duration_cast</span><span class="special">&lt;</span><span class="identifier">minutes</span><span class="special">&gt;(</span><span class="identifier">d</span> <span class="special">%</span> <span class="identifier">hours</span><span class="special">(</span><span class="number">1</span><span class="special">))),</span>
<span class="identifier">seconds_</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">duration_cast</span><span class="special">&lt;</span><span class="identifier">seconds</span><span class="special">&gt;(</span><span class="identifier">d</span> <span class="special">%</span> <span class="identifier">minutes</span><span class="special">(</span><span class="number">1</span><span class="special">)))</span>
<span class="special">{}</span>
<span class="special">};</span>
</pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="chrono.appendices.implementation"></a><a class="link" href="appendices.html#chrono.appendices.implementation" title="Appendix: Implementation Notes">Appendix: Implementation
Notes</a>
</h3></div></div></div>
<h5>
<a name="chrono.appendices.implementation.h0"></a>
<span class="phrase"><a name="chrono.appendices.implementation.which_apis_have_been_chosen_to_implement_each_clock_on_each_platform_"></a></span><a class="link" href="appendices.html#chrono.appendices.implementation.which_apis_have_been_chosen_to_implement_each_clock_on_each_platform_">Which
APIs have been chosen to implement each clock on each platform?</a>
</h5>
<p>
The following table presents a resume of which API is used for each clock
on each platform
</p>
<div class="table">
<a name="chrono.appendices.implementation.clock_api_correspondence"></a><p class="title"><b>Table 7.4. Clock API correspondence</b></p>
<div class="table-contents"><table class="table" summary="Clock API correspondence">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Clock
</p>
</th>
<th>
<p>
Windows Platform
</p>
</th>
<th>
<p>
Posix Platform
</p>
</th>
<th>
<p>
Mac Platform
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<a class="link" href="reference.html#chrono.reference.cpp0x.system_clocks_hpp.system_clock" title="Class system_clock"><code class="computeroutput"><span class="identifier">system_clock</span></code></a>
</p>
</td>
<td>
<p>
GetSystemTimeAsFileTime
</p>
</td>
<td>
<p>
clock_gettime( CLOCK_REALTIME)
</p>
</td>
<td>
<p>
gettimeofday
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="reference.html#chrono.reference.cpp0x.system_clocks_hpp.steady_clock" title="Class steady_clock"><code class="computeroutput"><span class="identifier">steady_clock</span></code></a>
</p>
</td>
<td>
<p>
QueryPerformanceCounter and QueryPerformanceFrequency
</p>
</td>
<td>
<p>
clock_gettime( CLOCK_STEADY)
</p>
</td>
<td>
<p>
mach_timebase_info,mach_absolute_time
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="reference.html#chrono.reference.other_clocks.process_cpu_clocks_hpp.process_real_cpu_clock" title="Class process_real_cpu_clock"><code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a>
</p>
</td>
<td>
<p>
GetProcessTimes
</p>
</td>
<td>
<p>
times
</p>
</td>
<td>
<p>
times
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="reference.html#chrono.reference.other_clocks.process_cpu_clocks_hpp.process_system_cpu_clock" title="Class process_system_cpu_clock"><code class="computeroutput"><span class="identifier">process_system_cpu_clock</span></code></a>
</p>
</td>
<td>
<p>
GetProcessTimes
</p>
</td>
<td>
<p>
times
</p>
</td>
<td>
<p>
times
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="reference.html#chrono.reference.other_clocks.process_cpu_clocks_hpp.process_user_cpu_clock" title="Class process_user_cpu_clock"><code class="computeroutput"><span class="identifier">process_user_cpu_clock</span></code></a>
</p>
</td>
<td>
<p>
GetProcessTimes
</p>
</td>
<td>
<p>
times
</p>
</td>
<td>
<p>
times
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="reference.html#chrono.reference.other_clocks.process_cpu_clocks_hpp.process_cpu_clock" title="Class process_cpu_clock"><code class="computeroutput"><span class="identifier">process_cpu_clock</span></code></a>
</p>
</td>
<td>
<p>
GetProcessTimes
</p>
</td>
<td>
<p>
times
</p>
</td>
<td>
<p>
times
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="reference.html#chrono.reference.other_clocks.thread_clock_hpp.thread_clock" title="Class thread_clock"><code class="computeroutput"><span class="identifier">thread_clock</span></code></a>
</p>
</td>
<td>
<p>
GetThreadTimes
</p>
</td>
<td>
<p>
clock_gettime(pthread_getcpuclockid)
</p>
</td>
<td>
<p>
clock_gettime(pthread_getcpuclockid)
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break">
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="chrono.appendices.faq"></a><a class="link" href="appendices.html#chrono.appendices.faq" title="Appendix: FAQ">Appendix: FAQ</a>
</h3></div></div></div>
<h5>
<a name="chrono.appendices.faq.h0"></a>
<span class="phrase"><a name="chrono.appendices.faq.why_does_process_cpu_clock_sometimes_give_more_cpu_seconds_than_real_seconds_"></a></span><a class="link" href="appendices.html#chrono.appendices.faq.why_does_process_cpu_clock_sometimes_give_more_cpu_seconds_than_real_seconds_">Why
does process_cpu_clock sometimes give more cpu seconds than real seconds?</a>
</h5>
<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>
<h5>
<a name="chrono.appendices.faq.h1"></a>
<span class="phrase"><a name="chrono.appendices.faq.are_integer_overflows_in_the_duration_arithmetic_detected_and_reported_"></a></span><a class="link" href="appendices.html#chrono.appendices.faq.are_integer_overflows_in_the_duration_arithmetic_detected_and_reported_">Are
integer overflows in the duration arithmetic detected and reported?</a>
</h5>
<p>
<span class="bold"><strong>Boost.Ratio</strong></span> avoids all kind of overflow
that could result of arithmetic operation and that can be simplified. The
typedefs durations don't detect overflow. You will need a duration representation
that handles overflow.
</p>
<h5>
<a name="chrono.appendices.faq.h2"></a>
<span class="phrase"><a name="chrono.appendices.faq.which_clocks_should_be_used_to_benchmarking_"></a></span><a class="link" href="appendices.html#chrono.appendices.faq.which_clocks_should_be_used_to_benchmarking_">Which
clocks should be used to benchmarking?</a>
</h5>
<p>
Each clock has his own features. It depends on what do you need to benchmark.
Most of the time, you could be interested in using a thread clock, but if
you need to measure code subject to synchronization a process clock would
be better. If you have a multi-process application, a system-wide clock could
be needed.
</p>
<h5>
<a name="chrono.appendices.faq.h3"></a>
<span class="phrase"><a name="chrono.appendices.faq.which_clocks_should_be_used_for_watching_"></a></span><a class="link" href="appendices.html#chrono.appendices.faq.which_clocks_should_be_used_for_watching_">Which
clocks should be used for watching?</a>
</h5>
<p>
For trace purposes, it is probably best to use a system-wide clock.
</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="chrono.appendices.acknowledgements"></a><a class="link" href="appendices.html#chrono.appendices.acknowledgements" title="Appendix: Acknowledgements">Appendix: Acknowledgements</a>
</h3></div></div></div>
<p>
The library's code was derived from Howard Hinnant's time2_demo prototype.
Many thanks to Howard for making his code available under the Boost license.
The original code was modified by Beman Dawes to conform to Boost conventions.
</p>
<p>
time2_demo contained this comment:
</p>
<p>
Much thanks to Andrei Alexandrescu, Walter Brown, Peter Dimov, Jeff Garland,
Terry Golubiewski, Daniel Krugler, Anthony Williams.
</p>
<p>
The file &lt;boost/chrono_io.hpp&gt; has been adapted from the experimental
header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono_io</span><span class="special">&gt;</span></code> from Howard Hinnant. Thanks for all Howard.
</p>
<p>
Howard Hinnant, who is the real author of the library, has provided valuable
feedback and suggestions during the development of the library. In particular,
The chrono_io_io.hpp source has been adapted from the experimental header
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono_io</span><span class="special">&gt;</span></code> from Howard Hinnant.
</p>
<p>
The acceptance review of Boost.Ratio took place between November 5th and
15th 2010. Many thanks to Anthony Williams, the review manager, and to all
the reviewers: David Deakins, John Bytheway, Roland Bock and Paul A. Bristow.
</p>
<p>
Thanks to Ronald Bock, Andrew Chinoff, Paul A. Bristow and John Bytheway
for his help polishing the documentation.
</p>
<p>
Thanks to Tom Tan for reporting some compiler issues with MSVC V10 beta and
MinGW-gcc-4.4.0 and for the many pushing for an homogeneous <code class="computeroutput"><span class="identifier">process_cpu_clock</span></code> clock.
</p>
<p>
Thanks to Ronald Bock for reporting Valgind issues and for the many suggestions
he made concerning the documentation.
</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="chrono.appendices.todo"></a><a class="link" href="appendices.html#chrono.appendices.todo" title="Appendix: Future plans">Appendix: Future plans</a>
</h3></div></div></div>
<h5>
<a name="chrono.appendices.todo.h0"></a>
<span class="phrase"><a name="chrono.appendices.todo.for_later_releases"></a></span><a class="link" href="appendices.html#chrono.appendices.todo.for_later_releases">For
later releases</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Add User defined literals for some durations.
</li>
<li class="listitem">
Include chrono::date as defined by Howard Hinnant <a href="http://home.roadrunner.com/~hinnant/bloomington/date.html" target="_top">here</a>.
</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 © 2008 Howard Hinnant<br>Copyright © 2006, 2008 Beman Dawes<br>Copyright © 2009-2013 Vicente J. Botet Escriba<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</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="../chrono.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="../circular_buffer.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>