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