• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<title>Appendices</title>
6<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
7<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
8<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
9<link rel="up" href="../chrono.html" title="Chapter 7. Boost.Chrono 2.0.8">
10<link rel="prev" href="reference.html" title="Reference">
11<link rel="next" href="../circular_buffer.html" title="Chapter 8. Boost.Circular Buffer">
12</head>
13<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14<table cellpadding="2" width="100%"><tr>
15<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
16<td align="center"><a href="../../../index.html">Home</a></td>
17<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
18<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
19<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
20<td align="center"><a href="../../../more/index.htm">More</a></td>
21</tr></table>
22<hr>
23<div class="spirit-nav">
24<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>
25</div>
26<div class="section">
27<div class="titlepage"><div><div><h2 class="title" style="clear: both">
28<a name="chrono.appendices"></a><a class="link" href="appendices.html" title="Appendices">Appendices</a>
29</h2></div></div></div>
30<div class="toc"><dl class="toc">
31<dt><span class="section"><a href="appendices.html#chrono.appendices.history">Appendix: History</a></span></dt>
32<dt><span class="section"><a href="appendices.html#chrono.appendices.rationale">Appendix: Rationale</a></span></dt>
33<dt><span class="section"><a href="appendices.html#chrono.appendices.implementation">Appendix: Implementation
34      Notes</a></span></dt>
35<dt><span class="section"><a href="appendices.html#chrono.appendices.faq">Appendix: FAQ</a></span></dt>
36<dt><span class="section"><a href="appendices.html#chrono.appendices.acknowledgements">Appendix: Acknowledgements</a></span></dt>
37<dt><span class="section"><a href="appendices.html#chrono.appendices.todo">Appendix: Future plans</a></span></dt>
38</dl></div>
39<div class="section">
40<div class="titlepage"><div><div><h3 class="title">
41<a name="chrono.appendices.history"></a><a class="link" href="appendices.html#chrono.appendices.history" title="Appendix: History">Appendix: History</a>
42</h3></div></div></div>
43<div class="toc"><dl class="toc">
44<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>
45<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>
46<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>
47<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>
48<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>
49<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>
50<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>
51<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>
52<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>
53<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>
54<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>
55<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>
56<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>
57<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>
58<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>
59</dl></div>
60<div class="section">
61<div class="titlepage"><div><div><h4 class="title">
62<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>
63</h4></div></div></div>
64<p>
65          <span class="bold"><strong>Fixes:</strong></span>
66        </p>
67<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
68              Remove Stopwatches, which was never be delivered officially.
69            </li></ul></div>
70</div>
71<div class="section">
72<div class="titlepage"><div><div><h4 class="title">
73<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>
74</h4></div></div></div>
75<p>
76          <span class="bold"><strong>Fixes:</strong></span>
77        </p>
78<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
79<li class="listitem">
80              <a href="http://svn.boost.org/trac/boost/ticket/11630" target="_top">#11630</a>
81              boost chrono documentation about boost chrono version &amp; io API
82              is wrong.
83            </li>
84<li class="listitem">
85              <a href="http://svn.boost.org/trac/boost/ticket/12176" target="_top">#12176</a>
86              Chrono without linking to Boost.System
87            </li>
88<li class="listitem">
89              <a href="http://svn.boost.org/trac/boost/ticket/12260" target="_top">#12260</a>
90              Bug: time_fmt does not support for wchar_t on windows
91            </li>
92</ul></div>
93</div>
94<div class="section">
95<div class="titlepage"><div><div><h4 class="title">
96<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>
97</h4></div></div></div>
98<p>
99          <span class="bold"><strong>Fixes:</strong></span>
100        </p>
101<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
102<li class="listitem">
103              <a href="http://svn.boost.org/trac/boost/ticket/11330" target="_top">#11330</a>
104              boost::chrono::duration default constructor doesn't initialize rep_
105            </li>
106<li class="listitem">
107              <a href="http://svn.boost.org/trac/boost/ticket/11618" target="_top">#11618</a>
108              Chrono IO V2 doc ios_state.hpp does not exist
109            </li>
110<li class="listitem">
111              <a href="http://svn.boost.org/trac/boost/ticket/11631" target="_top">#11631</a>
112              boost chrono io v2 does not let you support custom clocks
113            </li>
114</ul></div>
115</div>
116<div class="section">
117<div class="titlepage"><div><div><h4 class="title">
118<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>
119</h4></div></div></div>
120<p>
121          <span class="bold"><strong>Fixes:</strong></span>
122        </p>
123<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
124<li class="listitem">
125              <a href="http://svn.boost.org/trac/boost/ticket/10778" target="_top">#10778</a>
126              VC14 CTP4 Atomic don't compile with boost::chrono durations which are
127              not TriviallyCopyable
128            </li>
129<li class="listitem">
130              <a href="http://svn.boost.org/trac/boost/ticket/10840" target="_top">#10840</a>
131              Missing std:: qualifier for puts call in test_7868.cpp
132            </li>
133<li class="listitem">
134              <a href="http://svn.boost.org/trac/boost/ticket/10851" target="_top">#10851</a>
135              Missing std:: qualifier for puts call in time_point_output.cpp
136            </li>
137<li class="listitem">
138              <a href="http://svn.boost.org/trac/boost/ticket/10893" target="_top">#10893</a>
139              Minor doc typo in Boost.Chrono
140            </li>
141<li class="listitem">
142              <a href="http://svn.boost.org/trac/boost/ticket/10992" target="_top">#10992</a>
143              Chrono IO state savers inconsistent with Boost.IO state savers
144            </li>
145<li class="listitem">
146              <a href="http://svn.boost.org/trac/boost/ticket/10995" target="_top">#10995</a>
147              duration_put::put_value truncates fractional part
148            </li>
149<li class="listitem">
150              <a href="http://svn.boost.org/trac/boost/ticket/11006" target="_top">#11006</a>
151              Impossible to instantiate time_fmt_io_saver due to several errors.
152            </li>
153<li class="listitem">
154              <a href="http://svn.boost.org/trac/boost/ticket/11012" target="_top">#11012</a>
155              chrono_io v2 fail to compile with boost::chrono::duration&lt; boost::rational&lt;int&gt;
156              &gt;
157            </li>
158</ul></div>
159</div>
160<div class="section">
161<div class="titlepage"><div><div><h4 class="title">
162<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>
163</h4></div></div></div>
164<p>
165          <span class="bold"><strong>Fixes:</strong></span>
166        </p>
167<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
168<li class="listitem">
169              <a href="http://svn.boost.org/trac/boost/ticket/6918" target="_top">#6918</a>
170              Boost Chrono compilation failure on HP uX due to undefined pthread_getcpuclockid
171            </li>
172<li class="listitem">
173              <a href="http://svn.boost.org/trac/boost/ticket/8006" target="_top">#8006</a>
174              Boost::Chrono Assertion at startup - steady_clock::now() - Windows
175            </li>
176<li class="listitem">
177              <a href="http://svn.boost.org/trac/boost/ticket/9337" target="_top">#9337</a>
178              chrono::process_cpu_clock time points wrong by factor 1000 on Linux
179            </li>
180<li class="listitem">
181              <a href="http://svn.boost.org/trac/boost/ticket/9342" target="_top">#9342</a>
182              Regression on process_cpu_clock::timepoint io on V2
183            </li>
184<li class="listitem">
185              <a href="http://svn.boost.org/trac/boost/ticket/9419" target="_top">#9419</a>
186              boost::chrono::floor()/round() and negative durations is wrong
187            </li>
188<li class="listitem">
189              <a href="http://svn.boost.org/trac/boost/ticket/9698" target="_top">#9698</a>
190              boost::chrono::thread_clock not declared in OSX
191            </li>
192<li class="listitem">
193              <a href="http://svn.boost.org/trac/boost/ticket/9720" target="_top">#9720</a>
194              boost::this_thread::sleep_for() sometimes returns immediately on win32
195            </li>
196<li class="listitem">
197              <a href="http://svn.boost.org/trac/boost/ticket/9859" target="_top">#9859</a>
198              Remove references to gcc-mingw
199            </li>
200<li class="listitem">
201              <a href="http://svn.boost.org/trac/boost/ticket/9918" target="_top">#9918</a>
202              chrono compilation error on Solaris, function timegm
203            </li>
204<li class="listitem">
205              <a href="http://svn.boost.org/trac/boost/ticket/9811" target="_top">#9811</a>
206              boost/boost/chrono/duration.hpp:355:56: error: call to non-constexpr
207              function 'static std::numeric_limits&lt;float&gt;::_Ty std::numeric_limits&lt;float&gt;::max()'
208              /home/zosun/input_service/inputservices-core-service/other/boost/boost/chrono/duration.hpp:
209              In static member function 'static constexpr double boost::chrono::detail::chrono_numeric_limits&lt;double,
210              true&gt;::lowest()':
211            </li>
212<li class="listitem">
213              <a href="http://svn.boost.org/trac/boost/ticket/10069" target="_top">#10069</a>
214              Overflow in chrono clocks on 32bit
215            </li>
216<li class="listitem">
217              <a href="http://svn.boost.org/trac/boost/ticket/10151" target="_top">#10151</a>
218              timegm function not available on QNX
219            </li>
220</ul></div>
221</div>
222<div class="section">
223<div class="titlepage"><div><div><h4 class="title">
224<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>
225</h4></div></div></div>
226<p>
227          <span class="bold"><strong>Fixes:</strong></span>
228        </p>
229<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
230<li class="listitem">
231              <a href="http://svn.boost.org/trac/boost/ticket/7868" target="_top">#7868</a>
232              chrono_io parses time incorrectly (1.53 and 1.52)
233            </li>
234<li class="listitem">
235              <a href="http://svn.boost.org/trac/boost/ticket/9028" target="_top">#9028</a>
236              Typo in boost/chrono/stopwatches/formatters/base_formatter.hpp
237            </li>
238<li class="listitem">
239              <a href="http://svn.boost.org/trac/boost/ticket/9147" target="_top">#9147</a>
240              uninitialized std::tm
241            </li>
242<li class="listitem">
243              <a href="http://svn.boost.org/trac/boost/ticket/9274" target="_top">#9274</a>
244              lost of precision on system_clock input.
245            </li>
246<li class="listitem">
247              <a href="http://svn.boost.org/trac/boost/ticket/9276" target="_top">#9276</a>
248              output from a system_clock::time_point get a time_point that is one
249              day later than expected.
250            </li>
251</ul></div>
252</div>
253<div class="section">
254<div class="titlepage"><div><div><h4 class="title">
255<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>
256</h4></div></div></div>
257<p>
258          <span class="bold"><strong>Fixes:</strong></span>
259        </p>
260<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
261<li class="listitem">
262              <a href="http://svn.boost.org/trac/boost/ticket/8079" target="_top">#8079</a>
263              Chrono memory leak
264            </li>
265<li class="listitem">
266              <a href="http://svn.boost.org/trac/boost/ticket/8318" target="_top">#8318</a>
267              BOOST_FORCEINLINE constructors of time_point and duration
268            </li>
269<li class="listitem">
270              <a href="http://svn.boost.org/trac/boost/ticket/8367" target="_top">#8367</a>
271              chrono does not compile with clang from XCode 4.5.2 with -std=c++11
272              -stdlib=libc++ and -arch armv7
273            </li>
274<li class="listitem">
275              <a href="http://svn.boost.org/trac/boost/ticket/8370" target="_top">#8370</a>
276              typo in chrono reference
277            </li>
278<li class="listitem">
279              <a href="http://svn.boost.org/trac/boost/ticket/8435" target="_top">#8435</a>
280              Can't compile Chrono on HP-UX due to no CLOCK_REALTIME macro.
281            </li>
282<li class="listitem">
283              <a href="http://svn.boost.org/trac/boost/ticket/8690" target="_top">#8690</a>
284              duration_units_default - lost return types constness in overridden
285              methods.
286            </li>
287<li class="listitem">
288              <a href="http://svn.boost.org/trac/boost/ticket/8691" target="_top">#8691</a>
289              iostate is not checked after scan_keyword call.
290            </li>
291<li class="listitem">
292              <a href="http://svn.boost.org/trac/boost/ticket/8696" target="_top">#8696</a>
293              chrono compilation error on Solaris/gcc.
294            </li>
295</ul></div>
296</div>
297<div class="section">
298<div class="titlepage"><div><div><h4 class="title">
299<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>
300</h4></div></div></div>
301<p>
302          <span class="bold"><strong>Deprecated:</strong></span>
303        </p>
304<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
305<li class="listitem">
306              The chrono i/o version included in Boost.Chrono 1.2.x has been completly
307              refactored in version 2.0.0
308            </li>
309<li class="listitem">
310              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.
311              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
312              manipulators __duration_symbol and __duration_prefix instead.
313            </li>
314<li class="listitem">
315              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
316              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
317              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
318              purposes.
319            </li>
320</ul></div>
321<p>
322          When BOOST_CHRONO_VERSION==2 the preceding deprecated functions are not
323          available.
324        </p>
325<p>
326          <span class="bold"><strong>Fixes:</strong></span>
327        </p>
328<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
329<li class="listitem">
330              <a href="http://svn.boost.org/trac/boost/ticket/7546" target="_top">#7546</a>
331              time_point&lt;system_clock&gt; output version 2 fails to compile assigned
332              viboes Bugs Boost 1.53.0 --
333            </li>
334<li class="listitem">
335              <a href="http://svn.boost.org/trac/boost/ticket/7547" target="_top">#7547</a>
336              time_point&lt;system_clock&gt; input version 2 fails to compile assigned
337              viboes Bugs Boost 1.53.0 --
338            </li>
339<li class="listitem">
340              <a href="http://svn.boost.org/trac/boost/ticket/7868" target="_top">#7868</a>
341              chrono_io parses time incorrectly (1.53 and 1.52)
342            </li>
343</ul></div>
344</div>
345<div class="section">
346<div class="titlepage"><div><div><h4 class="title">
347<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>
348</h4></div></div></div>
349<p>
350          <span class="bold"><strong>New Features:</strong></span>
351        </p>
352<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
353              Enhance chrono I/O
354              <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
355<li class="listitem">
356                    <a href="http://svn.boost.org/trac/boost/ticket/5980" target="_top">#5980</a>
357                    Enhance chrono I/O with H. Hinnant proposal <a href="http://home.roadrunner.com/~hinnant/bloomington/chrono_io.html" target="_top">proposal</a>
358                    which has the advantage to provide I/O for system clocks using
359                    the Gregorian Calendar.
360                  </li>
361<li class="listitem">
362                    <a href="http://svn.boost.org/trac/boost/ticket/5981" target="_top">#5981</a>
363                    Add i/o state savers for duration and time_point formatting state.
364                  </li>
365<li class="listitem">
366                    <a href="http://svn.boost.org/trac/boost/ticket/7059" target="_top">#7059</a>
367                    Add low level i/o facilities.
368                  </li>
369</ul></div>
370            </li></ul></div>
371<p>
372          <span class="bold"><strong>Deprecated:</strong></span>
373        </p>
374<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
375<li class="listitem">
376              The chrono i/o version included in Boost.Chrono 1.2.x has been completly
377              refactored in version 2.0.0
378            </li>
379<li class="listitem">
380              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.
381              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
382              manipulators __duration_symbol and __duration_prefix instead.
383            </li>
384<li class="listitem">
385              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
386              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
387              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
388              purposes.
389            </li>
390</ul></div>
391<p>
392          When BOOST_CHRONO_VERSION==2 the preceding deprecated functions are not
393          available.
394        </p>
395<p>
396          <span class="bold"><strong>Fixes:</strong></span>
397        </p>
398<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
399<li class="listitem">
400              <a href="http://svn.boost.org/trac/boost/ticket/7381" target="_top">#7381</a>
401              C++11 compliance: unresolved symbol when assigning a constexpr duration
402              to a non-const local variable.
403            </li>
404<li class="listitem">
405              <a href="http://svn.boost.org/trac/boost/ticket/7479" target="_top">#7479</a>
406              Compiles fails with compilers supporting constexpr fails if the standard
407              library doesn't provides the constexpr interface
408            </li>
409<li class="listitem">
410              <a href="http://svn.boost.org/trac/boost/ticket/7493" target="_top">#7493</a>
411              compile fail on intel-linux-12.1.3.0x because of bug on explicit bool
412              conversion
413            </li>
414<li class="listitem">
415              <a href="http://svn.boost.org/trac/boost/ticket/7542" target="_top">#7542</a>
416              Missing -lpthread in chrono/io tester Sandia-clang-trunk
417            </li>
418</ul></div>
419<p>
420          <span class="bold"><strong>Would not fix:</strong></span>
421        </p>
422<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
423              <a href="http://svn.boost.org/trac/boost/ticket/6871" target="_top">#6871</a>
424              chrono_io.hpp: operator&lt;&lt;(ostream&amp; os, ...) modifies the
425              state of os.
426              <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
427                    The new io interface provided in version 2 solves this issue.
428                    You should move to the new version.
429                  </li></ul></div>
430            </li></ul></div>
431<p>
432          <span class="bold"><strong>Known bugs not fixed yet:</strong></span>
433        </p>
434<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
435              <a href="http://svn.boost.org/trac/boost/ticket/7525" target="_top">#7525</a>
436              Wrong clock_string&lt;system_clock&gt;::since() on Windows
437            </li></ul></div>
438</div>
439<div class="section">
440<div class="titlepage"><div><div><h4 class="title">
441<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>
442</h4></div></div></div>
443<p>
444          <span class="bold"><strong>Fixes:</strong></span>
445        </p>
446<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
447<li class="listitem">
448              <a href="http://svn.boost.org/trac/boost/ticket/6918" target="_top">#6918</a>
449              Boost Chrono compilation failure on HP uX due to undefined pthread_getcpuclockid.
450            </li>
451<li class="listitem">
452              <a href="http://svn.boost.org/trac/boost/ticket/6241" target="_top">#6241</a>
453              boost::chrono compilation problems without std::wstring support.
454            </li>
455<li class="listitem">
456              <a href="http://svn.boost.org/trac/boost/ticket/6987" target="_top">#6987</a>
457              Documentation &amp; C++11.
458            </li>
459<li class="listitem">
460              <a href="http://svn.boost.org/trac/boost/ticket/7041" target="_top">#7041</a>
461              time_point.hpp depends on Boost.System.
462            </li>
463<li class="listitem">
464              <a href="http://svn.boost.org/trac/boost/ticket/7042" target="_top">#7042</a>
465              Avoiding time_point and duration dependency on time.h and CLOCK_REALTIME.
466            </li>
467<li class="listitem">
468              <a href="http://svn.boost.org/trac/boost/ticket/7058" target="_top">#7058</a>
469              Make it work when BOOST_NO_EXCEPTIONS is defined.
470            </li>
471<li class="listitem">
472              <a href="http://svn.boost.org/trac/boost/ticket/7069" target="_top">#7069</a>
473              Misspellings in clock_string&lt;thread_clock&gt;.
474            </li>
475<li class="listitem">
476              <a href="http://svn.boost.org/trac/boost/ticket/7081" target="_top">#7081</a>
477              WinError.h capitalization in boost/detail/win/basic_types.hpp.
478            </li>
479</ul></div>
480</div>
481<div class="section">
482<div class="titlepage"><div><div><h4 class="title">
483<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>
484</h4></div></div></div>
485<p>
486          <span class="bold"><strong>Fixes:</strong></span>
487        </p>
488<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
489<li class="listitem">
490              <a href="http://svn.boost.org/trac/boost/ticket/6361" target="_top">#6361</a>
491              integer overflow in boost::chrono::process_real_cpu_clock::now() under
492              Windows 32bits.
493            </li>
494<li class="listitem">
495              <a href="http://svn.boost.org/trac/boost/ticket/6628" target="_top">#6628</a>
496              compiler warning in process_cpu_clocks.hpp.
497            </li>
498<li class="listitem">
499              <a href="http://svn.boost.org/trac/boost/ticket/6666" target="_top">#6666</a>
500              thread_clock.hpp needs pthread.h.
501            </li>
502</ul></div>
503</div>
504<div class="section">
505<div class="titlepage"><div><div><h4 class="title">
506<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>
507</h4></div></div></div>
508<p>
509          <span class="bold"><strong>Fixes:</strong></span>
510        </p>
511<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
512<li class="listitem">
513              <a href="http://svn.boost.org/trac/boost/ticket/6092" target="_top">#6092</a>
514              Input from non integral durations makes the compiler fail.
515            </li>
516<li class="listitem">
517              <a href="http://svn.boost.org/trac/boost/ticket/6093" target="_top">#6093</a>
518              [1/3]second fails as valid duration input.
519            </li>
520<li class="listitem">
521              <a href="http://svn.boost.org/trac/boost/ticket/6113" target="_top">#6113</a>
522              duplicate symbol when BOOST_CHRONO_HEADER_ONLY is defined.
523            </li>
524<li class="listitem">
525              <a href="http://svn.boost.org/trac/boost/ticket/6243" target="_top">#6243</a>
526              Sandia-pgi-11.9: more than one instance of overloaded function "min"
527              matches.
528            </li>
529<li class="listitem">
530              <a href="http://svn.boost.org/trac/boost/ticket/6257" target="_top">#6257</a>
531              process_cpu_clock::now() on linux gives time_points 1/1000 times.
532            </li>
533</ul></div>
534</div>
535<div class="section">
536<div class="titlepage"><div><div><h4 class="title">
537<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>
538</h4></div></div></div>
539<p>
540          <span class="bold"><strong>New Features:</strong></span>
541        </p>
542<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
543<li class="listitem">
544              <a href="http://svn.boost.org/trac/boost/ticket/5979" target="_top">#5979</a>
545              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>.
546            </li>
547<li class="listitem">
548              <a href="http://svn.boost.org/trac/boost/ticket/5978" target="_top">#5978</a>
549              Added BOOST_CHRONO_HAS_PROCESS_CLOCKS to know if process clocks are
550              available.
551            </li>
552<li class="listitem">
553              <a href="http://svn.boost.org/trac/boost/ticket/5998" target="_top">#5998</a>
554              Make possible to don't provide hybrid error handling.
555            </li>
556<li class="listitem">
557              <a href="http://svn.boost.org/trac/boost/ticket/5906" target="_top">#5906</a>
558              Take in account the constexpr as defined in the standard.
559            </li>
560<li class="listitem">
561              <a href="http://svn.boost.org/trac/boost/ticket/5907" target="_top">#5907</a>
562              Take in account noexcept for compilers supporting it.
563            </li>
564</ul></div>
565<p>
566          <span class="bold"><strong>Fixes:</strong></span>
567        </p>
568<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
569<li class="listitem">
570              <a href="http://svn.boost.org/trac/boost/ticket/2114" target="_top">#2114</a>
571              Enable visibility support (Boost.Chorno part)
572            </li>
573<li class="listitem">
574              <a href="http://svn.boost.org/trac/boost/ticket/5669" target="_top">#5669</a>
575              Intel compiler failure to compile duration.hpp
576            </li>
577<li class="listitem">
578              <a href="http://svn.boost.org/trac/boost/ticket/5909" target="_top">#5909</a>
579              process_cpu_clock::now() on MAC gives time_points 1/1000 times.
580            </li>
581<li class="listitem">
582              <a href="http://svn.boost.org/trac/boost/ticket/5946" target="_top">#5946</a>
583              Process real cpu clock returns the system steady clock (windows).
584            </li>
585<li class="listitem">
586              <a href="http://svn.boost.org/trac/boost/ticket/5974" target="_top">#5974</a>
587              Process real cpu clock should use clock() instead of times() in MAC
588              which is twice faster and have better resolution.
589            </li>
590</ul></div>
591<p>
592          <span class="bold"><strong>Cleanup:</strong></span>
593        </p>
594<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
595<li class="listitem">
596              <a href="http://svn.boost.org/trac/boost/ticket/5975" target="_top">#5975</a>
597              Reduce the combinations of header-only, shared, static link to reduce
598              test time by 50%.
599            </li>
600<li class="listitem">
601              <a href="http://svn.boost.org/trac/boost/ticket/5976" target="_top">#5976</a>
602              chrono_accuracy_test is not deterministic and should be removed from
603              the regression tests
604            </li>
605<li class="listitem">
606              <a href="http://svn.boost.org/trac/boost/ticket/5977" target="_top">#5977</a>
607              Remove old files from Beman's version. Some old files included in the
608              Beman's version and not documented in the reviewed version that have
609              been definitely removed from the repository as
610              <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
611<li class="listitem">
612                    boost/chrono/timer.hpp,
613                  </li>
614<li class="listitem">
615                    boost/chrono/process_times.hpp
616                  </li>
617<li class="listitem">
618                    boost/chrono/detail/process_clock.hpp,
619                  </li>
620<li class="listitem">
621                    boost/chrono/detail/mac/process_clock.hpp,
622                  </li>
623<li class="listitem">
624                    boost/chrono/detail/posix/process_clock.hpp,
625                  </li>
626<li class="listitem">
627                    boost/chrono/detail/win/process_clock.hpp,
628                  </li>
629<li class="listitem">
630                    boost/chrono/detail/run_timer.hpp,
631                  </li>
632<li class="listitem">
633                    boost/chrono/detail/run_timer_static.hpp,
634                  </li>
635</ul></div>
636            </li>
637</ul></div>
638</div>
639<div class="section">
640<div class="titlepage"><div><div><h4 class="title">
641<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>
642</h4></div></div></div>
643<p>
644          <span class="bold"><strong>New Features:</strong></span>
645        </p>
646<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
647<li class="listitem">
648              <a href="http://svn.boost.org/trac/boost/ticket/????" target="_top">#????</a>
649              Added time_point unary operators +,-,++,-- and binary operators +<code class="literal">,-</code>
650              with Rep al RHS.
651            </li>
652<li class="listitem">
653              <a href="http://svn.boost.org/trac/boost/ticket/5323" target="_top">#5323</a>
654              Add Associated type difference_type for chrono::time_point.
655            </li>
656</ul></div>
657<p>
658          <span class="bold"><strong>Fixes:</strong></span>
659        </p>
660<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
661              <a href="http://svn.boost.org/trac/boost/ticket/5322" target="_top">#5322</a>
662              Explicit default constructed chrono::durations are uninitialized
663            </li></ul></div>
664</div>
665<div class="section">
666<div class="titlepage"><div><div><h4 class="title">
667<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>
668</h4></div></div></div>
669<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
670<li class="listitem">
671              Moved chrono to trunk taking in account the review remarks.
672            </li>
673<li class="listitem">
674              Documentation revision.
675            </li>
676</ul></div>
677<p>
678          <span class="bold"><strong>Features:</strong></span>
679        </p>
680<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
681<li class="listitem">
682              Boost_Chrono is now a configurable header-only library version (that
683              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>
684              file is included or not).
685            </li>
686<li class="listitem">
687              Added clock_string&lt;&gt; traits.
688            </li>
689<li class="listitem">
690              Define chrono-io for all the clocks.
691            </li>
692<li class="listitem">
693              Add input of process_times representation.
694            </li>
695</ul></div>
696<p>
697          <span class="bold"><strong>Implementation:</strong></span>
698        </p>
699<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
700<li class="listitem">
701              Use of detail/win files to avoid the use of windows.h file.
702            </li>
703<li class="listitem">
704              Completed the error_code handling.
705            </li>
706<li class="listitem">
707              Works now with BOOST_SYSTEM_NO_DEPRECATED.
708            </li>
709</ul></div>
710<p>
711          <span class="bold"><strong>Fixes:</strong></span>
712        </p>
713<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
714<li class="listitem">
715              Fix some warnings.
716            </li>
717<li class="listitem">
718              Fix original errors on Mac
719            </li>
720<li class="listitem">
721              Don't fix the link with boost_system to static.
722            </li>
723</ul></div>
724<p>
725          <span class="bold"><strong>Test:</strong></span>
726        </p>
727<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
728<li class="listitem">
729              Added test on process and thread clocks.
730            </li>
731<li class="listitem">
732              Moved to lightweight_test.hpp.
733            </li>
734<li class="listitem">
735              Able to test multiple configurations.
736            </li>
737</ul></div>
738<p>
739          <span class="bold"><strong>Doc:</strong></span>
740        </p>
741<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
742              Removed some not useful parts as the test and the tickets.
743            </li></ul></div>
744</div>
745</div>
746<div class="section">
747<div class="titlepage"><div><div><h3 class="title">
748<a name="chrono.appendices.rationale"></a><a class="link" href="appendices.html#chrono.appendices.rationale" title="Appendix: Rationale">Appendix: Rationale</a>
749</h3></div></div></div>
750<p>
751        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
752        very informative and provides motivation for key design decisions. This section
753        contains some extracts from this document.
754      </p>
755<h5>
756<a name="chrono.appendices.rationale.h0"></a>
757        <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
758        needs operator%</a>
759      </h5>
760<p>
761        This operator is convenient for computing where in a time frame a given duration
762        lies. A motivating example is converting a duration into a "broken-down"
763        time duration such as hours::minutes::seconds:
764      </p>
765<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">ClockTime</span>
766<span class="special">{</span>
767    <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>
768    <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>
769    <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>
770<span class="keyword">public</span><span class="special">:</span>
771    <span class="identifier">hours</span> <span class="identifier">hours_</span><span class="special">;</span>
772    <span class="identifier">minutes</span> <span class="identifier">minutes_</span><span class="special">;</span>
773    <span class="identifier">seconds</span> <span class="identifier">seconds_</span><span class="special">;</span>
774
775    <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>
776      <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>
777        <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>
778          <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>
779          <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>
780          <span class="special">{}</span>
781<span class="special">};</span>
782</pre>
783</div>
784<div class="section">
785<div class="titlepage"><div><div><h3 class="title">
786<a name="chrono.appendices.implementation"></a><a class="link" href="appendices.html#chrono.appendices.implementation" title="Appendix: Implementation Notes">Appendix: Implementation
787      Notes</a>
788</h3></div></div></div>
789<h5>
790<a name="chrono.appendices.implementation.h0"></a>
791        <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
792        APIs have been chosen to implement each clock on each platform?</a>
793      </h5>
794<p>
795        The following table presents a resume of which API is used for each clock
796        on each platform
797      </p>
798<div class="table">
799<a name="chrono.appendices.implementation.clock_api_correspondence"></a><p class="title"><b>Table 7.4. Clock API correspondence</b></p>
800<div class="table-contents"><table class="table" summary="Clock API correspondence">
801<colgroup>
802<col>
803<col>
804<col>
805<col>
806</colgroup>
807<thead><tr>
808<th>
809                <p>
810                  Clock
811                </p>
812              </th>
813<th>
814                <p>
815                  Windows Platform
816                </p>
817              </th>
818<th>
819                <p>
820                  Posix Platform
821                </p>
822              </th>
823<th>
824                <p>
825                  Mac Platform
826                </p>
827              </th>
828</tr></thead>
829<tbody>
830<tr>
831<td>
832                <p>
833                  <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>
834                </p>
835              </td>
836<td>
837                <p>
838                  GetSystemTimeAsFileTime
839                </p>
840              </td>
841<td>
842                <p>
843                  clock_gettime( CLOCK_REALTIME)
844                </p>
845              </td>
846<td>
847                <p>
848                  gettimeofday
849                </p>
850              </td>
851</tr>
852<tr>
853<td>
854                <p>
855                  <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>
856                </p>
857              </td>
858<td>
859                <p>
860                  QueryPerformanceCounter and QueryPerformanceFrequency
861                </p>
862              </td>
863<td>
864                <p>
865                  clock_gettime( CLOCK_STEADY)
866                </p>
867              </td>
868<td>
869                <p>
870                  mach_timebase_info,mach_absolute_time
871                </p>
872              </td>
873</tr>
874<tr>
875<td>
876                <p>
877                  <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>
878                </p>
879              </td>
880<td>
881                <p>
882                  GetProcessTimes
883                </p>
884              </td>
885<td>
886                <p>
887                  times
888                </p>
889              </td>
890<td>
891                <p>
892                  times
893                </p>
894              </td>
895</tr>
896<tr>
897<td>
898                <p>
899                  <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>
900                </p>
901              </td>
902<td>
903                <p>
904                  GetProcessTimes
905                </p>
906              </td>
907<td>
908                <p>
909                  times
910                </p>
911              </td>
912<td>
913                <p>
914                  times
915                </p>
916              </td>
917</tr>
918<tr>
919<td>
920                <p>
921                  <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>
922                </p>
923              </td>
924<td>
925                <p>
926                  GetProcessTimes
927                </p>
928              </td>
929<td>
930                <p>
931                  times
932                </p>
933              </td>
934<td>
935                <p>
936                  times
937                </p>
938              </td>
939</tr>
940<tr>
941<td>
942                <p>
943                  <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>
944                </p>
945              </td>
946<td>
947                <p>
948                  GetProcessTimes
949                </p>
950              </td>
951<td>
952                <p>
953                  times
954                </p>
955              </td>
956<td>
957                <p>
958                  times
959                </p>
960              </td>
961</tr>
962<tr>
963<td>
964                <p>
965                  <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>
966                </p>
967              </td>
968<td>
969                <p>
970                  GetThreadTimes
971                </p>
972              </td>
973<td>
974                <p>
975                  clock_gettime(pthread_getcpuclockid)
976                </p>
977              </td>
978<td>
979                <p>
980                  clock_gettime(pthread_getcpuclockid)
981                </p>
982              </td>
983</tr>
984</tbody>
985</table></div>
986</div>
987<br class="table-break">
988</div>
989<div class="section">
990<div class="titlepage"><div><div><h3 class="title">
991<a name="chrono.appendices.faq"></a><a class="link" href="appendices.html#chrono.appendices.faq" title="Appendix: FAQ">Appendix: FAQ</a>
992</h3></div></div></div>
993<h5>
994<a name="chrono.appendices.faq.h0"></a>
995        <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
996        does process_cpu_clock sometimes give more cpu seconds than real seconds?</a>
997      </h5>
998<p>
999        Ask your operating system supplier. The results have been inspected with
1000        a debugger, and both for Windows and Linux, that's what the OS appears to
1001        be reporting at times.
1002      </p>
1003<h5>
1004<a name="chrono.appendices.faq.h1"></a>
1005        <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
1006        integer overflows in the duration arithmetic detected and reported?</a>
1007      </h5>
1008<p>
1009        <span class="bold"><strong>Boost.Ratio</strong></span> avoids all kind of overflow
1010        that could result of arithmetic operation and that can be simplified. The
1011        typedefs durations don't detect overflow. You will need a duration representation
1012        that handles overflow.
1013      </p>
1014<h5>
1015<a name="chrono.appendices.faq.h2"></a>
1016        <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
1017        clocks should be used to benchmarking?</a>
1018      </h5>
1019<p>
1020        Each clock has his own features. It depends on what do you need to benchmark.
1021        Most of the time, you could be interested in using a thread clock, but if
1022        you need to measure code subject to synchronization a process clock would
1023        be better. If you have a multi-process application, a system-wide clock could
1024        be needed.
1025      </p>
1026<h5>
1027<a name="chrono.appendices.faq.h3"></a>
1028        <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
1029        clocks should be used for watching?</a>
1030      </h5>
1031<p>
1032        For trace purposes, it is probably best to use a system-wide clock.
1033      </p>
1034</div>
1035<div class="section">
1036<div class="titlepage"><div><div><h3 class="title">
1037<a name="chrono.appendices.acknowledgements"></a><a class="link" href="appendices.html#chrono.appendices.acknowledgements" title="Appendix: Acknowledgements">Appendix: Acknowledgements</a>
1038</h3></div></div></div>
1039<p>
1040        The library's code was derived from Howard Hinnant's time2_demo prototype.
1041        Many thanks to Howard for making his code available under the Boost license.
1042        The original code was modified by Beman Dawes to conform to Boost conventions.
1043      </p>
1044<p>
1045        time2_demo contained this comment:
1046      </p>
1047<p>
1048        Much thanks to Andrei Alexandrescu, Walter Brown, Peter Dimov, Jeff Garland,
1049        Terry Golubiewski, Daniel Krugler, Anthony Williams.
1050      </p>
1051<p>
1052        The file &lt;boost/chrono_io.hpp&gt; has been adapted from the experimental
1053        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.
1054      </p>
1055<p>
1056        Howard Hinnant, who is the real author of the library, has provided valuable
1057        feedback and suggestions during the development of the library. In particular,
1058        The chrono_io_io.hpp source has been adapted from the experimental header
1059        <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono_io</span><span class="special">&gt;</span></code> from Howard Hinnant.
1060      </p>
1061<p>
1062        The acceptance review of Boost.Ratio took place between November 5th and
1063        15th 2010. Many thanks to Anthony Williams, the review manager, and to all
1064        the reviewers: David Deakins, John Bytheway, Roland Bock and Paul A. Bristow.
1065      </p>
1066<p>
1067        Thanks to Ronald Bock, Andrew Chinoff, Paul A. Bristow and John Bytheway
1068        for his help polishing the documentation.
1069      </p>
1070<p>
1071        Thanks to Tom Tan for reporting some compiler issues with MSVC V10 beta and
1072        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.
1073      </p>
1074<p>
1075        Thanks to Ronald Bock for reporting Valgind issues and for the many suggestions
1076        he made concerning the documentation.
1077      </p>
1078</div>
1079<div class="section">
1080<div class="titlepage"><div><div><h3 class="title">
1081<a name="chrono.appendices.todo"></a><a class="link" href="appendices.html#chrono.appendices.todo" title="Appendix: Future plans">Appendix: Future plans</a>
1082</h3></div></div></div>
1083<h5>
1084<a name="chrono.appendices.todo.h0"></a>
1085        <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
1086        later releases</a>
1087      </h5>
1088<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1089<li class="listitem">
1090            Add User defined literals for some durations.
1091          </li>
1092<li class="listitem">
1093            Include chrono::date as defined by Howard Hinnant <a href="http://home.roadrunner.com/~hinnant/bloomington/date.html" target="_top">here</a>.
1094          </li>
1095</ul></div>
1096</div>
1097</div>
1098<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
1099<td align="left"></td>
1100<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>
1101        Distributed under the Boost Software License, Version 1.0. (See accompanying
1102        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>)
1103      </p>
1104</div></td>
1105</tr></table>
1106<hr>
1107<div class="spirit-nav">
1108<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>
1109</div>
1110</body>
1111</html>
1112