<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>ucommon: ucommon::Timer Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.3 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="a00208.html">ucommon</a>::<a class="el" href="a00162.html">Timer</a> </div> </div> <div class="contents"> <h1>ucommon::Timer Class Reference</h1><!-- doxytag: class="ucommon::Timer" --> <p><a class="el" href="a00162.html" title="Timer class to use when scheduling realtime events.">Timer</a> class to use when scheduling realtime events. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="a00203_source.html">timers.h</a>></code></p> <div class="dynheader"> Inheritance diagram for ucommon::Timer:</div> <div class="dynsection"> <div class="center"><img src="a00557.png" border="0" usemap="#ucommon_1_1_timer_inherit__map" alt="Inheritance graph"/></div> <map name="ucommon_1_1_timer_inherit__map" id="ucommon_1_1_timer_inherit__map"> <area shape="rect" id="node3" href="a00161.html" title="Event notification to manage scheduled realtime threads." alt="" coords="5,80,216,107"/><area shape="rect" id="node5" href="a00164.html" title="A timer event object that lives on a timer queue." alt="" coords="240,80,523,107"/></map> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a969df42b3c344afa9eae34fa6bcb13d7"></a><!-- doxytag: member="ucommon::Timer::tick_t" ref="a969df42b3c344afa9eae34fa6bcb13d7" args="" --> typedef uint64_t </td><td class="memItemRight" valign="bottom"><b>tick_t</b></td></tr> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af12d9783497fe773ff4084cb7a18496b"></a><!-- doxytag: member="ucommon::Timer::clear" ref="af12d9783497fe773ff4084cb7a18496b" args="(void)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#af12d9783497fe773ff4084cb7a18496b">clear</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Clear pending timer, has no value. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#afe247eec0d047b6a841afa0712c01a99">get</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get remaining time until the timer expires. <a href="#afe247eec0d047b6a841afa0712c01a99"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#ad59f625a3fcaf0fd38fc3e0faea8b47b">isExpired</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Check if timer expired. <a href="#ad59f625a3fcaf0fd38fc3e0faea8b47b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#adae3d036821f91211eb07415c72cd6b8">isUpdated</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Check if timer has been updated since last check. <a href="#adae3d036821f91211eb07415c72cd6b8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#ab86031e005c0b0b56483e5fe2bd16efa">operator bool</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Check if timer expired for <a class="el" href="a00208.html#acf24ef988438eb342a8a348f19524e37" title="Convenience function to validate object assuming it is castable to bool.">is()</a> expression. <a href="#ab86031e005c0b0b56483e5fe2bd16efa"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a9936bf64b148a69b9070ca2a5c33cbd9">operator!</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Check if timer has expired. <a href="#a9936bf64b148a69b9070ca2a5c33cbd9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#aa3ff358c33602a0a598a176c685f2c21">operator!=</a> (const <a class="el" href="a00162.html">Timer</a> &timer)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compare timers if not same timeout. <a href="#aa3ff358c33602a0a598a176c685f2c21"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a2cf98d325ee1170b7b35bbe6f436515b">operator*</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get remaining time until timer expires by reference. <a href="#a2cf98d325ee1170b7b35bbe6f436515b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00162.html">Timer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a700a467dd60ff458473fccf25527e0cb">operator+=</a> (<a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> expire)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adjust timer expiration. <a href="#a700a467dd60ff458473fccf25527e0cb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00162.html">Timer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a164cb42e145d9abe4854fc47ec501d3b">operator+=</a> (time_t expire)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adjust timer expiration. <a href="#a164cb42e145d9abe4854fc47ec501d3b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a761e0eff86fa6c644bb5874aa1a1eadd">operator-</a> (const <a class="el" href="a00162.html">Timer</a> &timer)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compute difference between two timers. <a href="#a761e0eff86fa6c644bb5874aa1a1eadd"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00162.html">Timer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a96e3fd20e0da31bffb4eb11422246d7f">operator-=</a> (<a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> expire)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adjust timer expiration. <a href="#a96e3fd20e0da31bffb4eb11422246d7f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00162.html">Timer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#acc149548bd6f912e9f3a184a34571484">operator-=</a> (time_t expire)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adjust timer expiration. <a href="#acc149548bd6f912e9f3a184a34571484"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#ac5e50ea7e951749b67908806fafad51f">operator<</a> (const <a class="el" href="a00162.html">Timer</a> &timer)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compare timers if earlier timeout than another timer. <a href="#ac5e50ea7e951749b67908806fafad51f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a30fa05a04c8273e2e5b38534a42bcee2">operator<=</a> (const <a class="el" href="a00162.html">Timer</a> &timer)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compare timers if earlier than or equal to another timer. <a href="#a30fa05a04c8273e2e5b38534a42bcee2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00162.html">Timer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a5d73e89b92fc2f8255bed104739f4357">operator=</a> (<a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> expire)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set timer expiration. <a href="#a5d73e89b92fc2f8255bed104739f4357"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00162.html">Timer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a09e19697f1db4c391d3971f13100fe63">operator=</a> (time_t expire)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set timer expiration. <a href="#a09e19697f1db4c391d3971f13100fe63"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#ac4fd11f33186151f5e2da1a349fedd39">operator==</a> (const <a class="el" href="a00162.html">Timer</a> &timer)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compare timers if same timeout. <a href="#ac4fd11f33186151f5e2da1a349fedd39"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#ad7fe7d8841aa0e6db241a78001844a3b">operator></a> (const <a class="el" href="a00162.html">Timer</a> &timer)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compare timers if later timeout than another timer. <a href="#ad7fe7d8841aa0e6db241a78001844a3b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a2a0bcd523d3cd1a9a9db72f001a47ee5">operator>=</a> (const <a class="el" href="a00162.html">Timer</a> &timer)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compare timers if later than or equal to another timer. <a href="#a2a0bcd523d3cd1a9a9db72f001a47ee5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32f5875036328d565f69e31bd794ba34"></a><!-- doxytag: member="ucommon::Timer::set" ref="a32f5875036328d565f69e31bd794ba34" args="(void)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a32f5875036328d565f69e31bd794ba34">set</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set (update) the timer with current time. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#aa93a1af841dd76af9c69d09dfe48a52b">set</a> (time_t expire)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the timer to expire. <a href="#aa93a1af841dd76af9c69d09dfe48a52b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a2b078e5003364bcc1e61c13ee44c1978">set</a> (<a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> expire)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the timer to expire. <a href="#a2b078e5003364bcc1e61c13ee44c1978"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a596a675a6f474af43b4d7bb1597b1404">Timer</a> (const <a class="el" href="a00162.html">Timer</a> &copy)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct a timer from a copy of another timer. <a href="#a596a675a6f474af43b4d7bb1597b1404"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#ad7007b00eeb7b7cff5e10b22539b306f">Timer</a> (time_t offset)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct a triggered timer that expires at specified offset. <a href="#ad7007b00eeb7b7cff5e10b22539b306f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a5d94b9859cae35cb44aaa7438ac3d613">Timer</a> (<a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> offset)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct a triggered timer that expires at specified offset. <a href="#a5d94b9859cae35cb44aaa7438ac3d613"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83ccfc3346f04bed6616a7e7a4222209"></a><!-- doxytag: member="ucommon::Timer::Timer" ref="a83ccfc3346f04bed6616a7e7a4222209" args="()" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a83ccfc3346f04bed6616a7e7a4222209">Timer</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct an untriggered timer set to the time of creation. <br/></td></tr> <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#afcf74a86209ba1cf91f3afbe7ffc7ebe">sync</a> (<a class="el" href="a00162.html">Timer</a> &timer)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sleep current thread until the specified timer expires. <a href="#afcf74a86209ba1cf91f3afbe7ffc7ebe"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static tick_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a89c6879442ce04f5496ed960c29a9eaf">ticks</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get timer ticks since uuid epoch. <a href="#a89c6879442ce04f5496ed960c29a9eaf"></a><br/></td></tr> <tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3d270c59686a8af48b731d389c65b1c"></a><!-- doxytag: member="ucommon::Timer::inf" ref="ad3d270c59686a8af48b731d389c65b1c" args="" --> static const <a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#ad3d270c59686a8af48b731d389c65b1c">inf</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A value to use for infinite time. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e502da0e1068fbfe79527b6da4efa68"></a><!-- doxytag: member="ucommon::Timer::reset" ref="a5e502da0e1068fbfe79527b6da4efa68" args="" --> static const time_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html#a5e502da0e1068fbfe79527b6da4efa68">reset</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A value to use when resetting. <br/></td></tr> <tr><td colspan="2"><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac10b6b46e90926acb75d89ddca608234"></a><!-- doxytag: member="ucommon::Timer::Conditional" ref="ac10b6b46e90926acb75d89ddca608234" args="" --> class </td><td class="memItemRight" valign="bottom"><b>Conditional</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c7b3c89bf96f51e80a919b3a82a3915"></a><!-- doxytag: member="ucommon::Timer::Event" ref="a3c7b3c89bf96f51e80a919b3a82a3915" args="" --> class </td><td class="memItemRight" valign="bottom"><b>Event</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aebe70aacee812bed6d2510814cba9c8a"></a><!-- doxytag: member="ucommon::Timer::Semaphore" ref="aebe70aacee812bed6d2510814cba9c8a" args="" --> class </td><td class="memItemRight" valign="bottom"><b>Semaphore</b></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p><a class="el" href="a00162.html" title="Timer class to use when scheduling realtime events.">Timer</a> class to use when scheduling realtime events. </p> <p>The timer generally uses millisecond values but has a microsecond accuracy. On platforms that support it, the timer uses posix realtime monotonic clock extensions, otherwise lower accuracy timer systems might be used. </p> <p>Definition at line <a class="el" href="a00203_source.html#l00045">45</a> of file <a class="el" href="a00203_source.html">timers.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a5d94b9859cae35cb44aaa7438ac3d613"></a><!-- doxytag: member="ucommon::Timer::Timer" ref="a5d94b9859cae35cb44aaa7438ac3d613" args="(timeout_t offset)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ucommon::Timer::Timer </td> <td>(</td> <td class="paramtype"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> </td> <td class="paramname"> <em>offset</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Construct a triggered timer that expires at specified offset. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>to expire in milliseconds. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ad7007b00eeb7b7cff5e10b22539b306f"></a><!-- doxytag: member="ucommon::Timer::Timer" ref="ad7007b00eeb7b7cff5e10b22539b306f" args="(time_t offset)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ucommon::Timer::Timer </td> <td>(</td> <td class="paramtype">time_t </td> <td class="paramname"> <em>offset</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Construct a triggered timer that expires at specified offset. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>to expire in seconds. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a596a675a6f474af43b4d7bb1597b1404"></a><!-- doxytag: member="ucommon::Timer::Timer" ref="a596a675a6f474af43b4d7bb1597b1404" args="(const Timer &copy)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ucommon::Timer::Timer </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00162.html">Timer</a> & </td> <td class="paramname"> <em>copy</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Construct a timer from a copy of another timer. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>copy</em> </td><td>of timer to construct from. </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="afe247eec0d047b6a841afa0712c01a99"></a><!-- doxytag: member="ucommon::Timer::get" ref="afe247eec0d047b6a841afa0712c01a99" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> ucommon::Timer::get </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Get remaining time until the timer expires. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>0 if expired or milliseconds still waiting. </dd></dl> <p>Reimplemented in <a class="el" href="a00164.html#a9b6347e382fa94f1fda98982684de2f6">ucommon::TimerQueue::event</a>.</p> </div> </div> <a class="anchor" id="ad59f625a3fcaf0fd38fc3e0faea8b47b"></a><!-- doxytag: member="ucommon::Timer::isExpired" ref="ad59f625a3fcaf0fd38fc3e0faea8b47b" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool ucommon::Timer::isExpired </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Check if timer expired. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>true if expired. </dd></dl> <p>Reimplemented in <a class="el" href="a00164.html#a7c4857590ed07e95997ec6e6fbd23557">ucommon::TimerQueue::event</a>.</p> </div> </div> <a class="anchor" id="adae3d036821f91211eb07415c72cd6b8"></a><!-- doxytag: member="ucommon::Timer::isUpdated" ref="adae3d036821f91211eb07415c72cd6b8" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool ucommon::Timer::isUpdated </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Check if timer has been updated since last check. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>true if updated. </dd></dl> </div> </div> <a class="anchor" id="ab86031e005c0b0b56483e5fe2bd16efa"></a><!-- doxytag: member="ucommon::Timer::operator bool" ref="ab86031e005c0b0b56483e5fe2bd16efa" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ucommon::Timer::operator bool </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Check if timer expired for <a class="el" href="a00208.html#acf24ef988438eb342a8a348f19524e37" title="Convenience function to validate object assuming it is castable to bool.">is()</a> expression. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>true if timer expired. </dd></dl> </div> </div> <a class="anchor" id="a9936bf64b148a69b9070ca2a5c33cbd9"></a><!-- doxytag: member="ucommon::Timer::operator!" ref="a9936bf64b148a69b9070ca2a5c33cbd9" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool ucommon::Timer::operator! </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Check if timer has expired. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>true if timer still pending. </dd></dl> </div> </div> <a class="anchor" id="aa3ff358c33602a0a598a176c685f2c21"></a><!-- doxytag: member="ucommon::Timer::operator!=" ref="aa3ff358c33602a0a598a176c685f2c21" args="(const Timer &timer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool ucommon::Timer::operator!= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00162.html">Timer</a> & </td> <td class="paramname"> <em>timer</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Compare timers if not same timeout. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>to compare with. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true if not same. </dd></dl> </div> </div> <a class="anchor" id="a2cf98d325ee1170b7b35bbe6f436515b"></a><!-- doxytag: member="ucommon::Timer::operator*" ref="a2cf98d325ee1170b7b35bbe6f436515b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> ucommon::Timer::operator* </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get remaining time until timer expires by reference. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>0 if expired or milliseconds still waiting. </dd></dl> <p>Definition at line <a class="el" href="a00203_source.html#l00133">133</a> of file <a class="el" href="a00203_source.html">timers.h</a>.</p> </div> </div> <a class="anchor" id="a700a467dd60ff458473fccf25527e0cb"></a><!-- doxytag: member="ucommon::Timer::operator+=" ref="a700a467dd60ff458473fccf25527e0cb" args="(timeout_t expire)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00162.html">Timer</a>& ucommon::Timer::operator+= </td> <td>(</td> <td class="paramtype"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> </td> <td class="paramname"> <em>expire</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Adjust timer expiration. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>expire</em> </td><td>time to add in milliseconds. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a164cb42e145d9abe4854fc47ec501d3b"></a><!-- doxytag: member="ucommon::Timer::operator+=" ref="a164cb42e145d9abe4854fc47ec501d3b" args="(time_t expire)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00162.html">Timer</a>& ucommon::Timer::operator+= </td> <td>(</td> <td class="paramtype">time_t </td> <td class="paramname"> <em>expire</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Adjust timer expiration. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>expire</em> </td><td>time to add in seconds. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a761e0eff86fa6c644bb5874aa1a1eadd"></a><!-- doxytag: member="ucommon::Timer::operator-" ref="a761e0eff86fa6c644bb5874aa1a1eadd" args="(const Timer &timer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> ucommon::Timer::operator- </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00162.html">Timer</a> & </td> <td class="paramname"> <em>timer</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Compute difference between two timers. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>to use for difference. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>difference in milliseconds. </dd></dl> </div> </div> <a class="anchor" id="a96e3fd20e0da31bffb4eb11422246d7f"></a><!-- doxytag: member="ucommon::Timer::operator-=" ref="a96e3fd20e0da31bffb4eb11422246d7f" args="(timeout_t expire)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00162.html">Timer</a>& ucommon::Timer::operator-= </td> <td>(</td> <td class="paramtype"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> </td> <td class="paramname"> <em>expire</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Adjust timer expiration. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>expire</em> </td><td>time to subtract in milliseconds. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="acc149548bd6f912e9f3a184a34571484"></a><!-- doxytag: member="ucommon::Timer::operator-=" ref="acc149548bd6f912e9f3a184a34571484" args="(time_t expire)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00162.html">Timer</a>& ucommon::Timer::operator-= </td> <td>(</td> <td class="paramtype">time_t </td> <td class="paramname"> <em>expire</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Adjust timer expiration. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>expire</em> </td><td>time to subtract in seconds. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ac5e50ea7e951749b67908806fafad51f"></a><!-- doxytag: member="ucommon::Timer::operator<" ref="ac5e50ea7e951749b67908806fafad51f" args="(const Timer &timer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool ucommon::Timer::operator< </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00162.html">Timer</a> & </td> <td class="paramname"> <em>timer</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Compare timers if earlier timeout than another timer. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>to compare with. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true if earlier. </dd></dl> </div> </div> <a class="anchor" id="a30fa05a04c8273e2e5b38534a42bcee2"></a><!-- doxytag: member="ucommon::Timer::operator<=" ref="a30fa05a04c8273e2e5b38534a42bcee2" args="(const Timer &timer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool ucommon::Timer::operator<= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00162.html">Timer</a> & </td> <td class="paramname"> <em>timer</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Compare timers if earlier than or equal to another timer. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>to compare with. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true if earlier or same. </dd></dl> </div> </div> <a class="anchor" id="a5d73e89b92fc2f8255bed104739f4357"></a><!-- doxytag: member="ucommon::Timer::operator=" ref="a5d73e89b92fc2f8255bed104739f4357" args="(timeout_t expire)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00162.html">Timer</a>& ucommon::Timer::operator= </td> <td>(</td> <td class="paramtype"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> </td> <td class="paramname"> <em>expire</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Set timer expiration. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>expire</em> </td><td>timer in milliseconds. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a09e19697f1db4c391d3971f13100fe63"></a><!-- doxytag: member="ucommon::Timer::operator=" ref="a09e19697f1db4c391d3971f13100fe63" args="(time_t expire)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00162.html">Timer</a>& ucommon::Timer::operator= </td> <td>(</td> <td class="paramtype">time_t </td> <td class="paramname"> <em>expire</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Set timer expiration. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>expire</em> </td><td>timer in specified seconds. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ac4fd11f33186151f5e2da1a349fedd39"></a><!-- doxytag: member="ucommon::Timer::operator==" ref="ac4fd11f33186151f5e2da1a349fedd39" args="(const Timer &timer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool ucommon::Timer::operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00162.html">Timer</a> & </td> <td class="paramname"> <em>timer</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Compare timers if same timeout. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>to compare with. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true if same. </dd></dl> </div> </div> <a class="anchor" id="ad7fe7d8841aa0e6db241a78001844a3b"></a><!-- doxytag: member="ucommon::Timer::operator>" ref="ad7fe7d8841aa0e6db241a78001844a3b" args="(const Timer &timer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool ucommon::Timer::operator> </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00162.html">Timer</a> & </td> <td class="paramname"> <em>timer</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Compare timers if later timeout than another timer. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>to compare with. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true if later. </dd></dl> </div> </div> <a class="anchor" id="a2a0bcd523d3cd1a9a9db72f001a47ee5"></a><!-- doxytag: member="ucommon::Timer::operator>=" ref="a2a0bcd523d3cd1a9a9db72f001a47ee5" args="(const Timer &timer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool ucommon::Timer::operator>= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00162.html">Timer</a> & </td> <td class="paramname"> <em>timer</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Compare timers if later than or equal to another timer. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>to compare with. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true if later or same. </dd></dl> </div> </div> <a class="anchor" id="aa93a1af841dd76af9c69d09dfe48a52b"></a><!-- doxytag: member="ucommon::Timer::set" ref="aa93a1af841dd76af9c69d09dfe48a52b" args="(time_t expire)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ucommon::Timer::set </td> <td>(</td> <td class="paramtype">time_t </td> <td class="paramname"> <em>expire</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Set the timer to expire. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>expire</em> </td><td>time in seconds. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a2b078e5003364bcc1e61c13ee44c1978"></a><!-- doxytag: member="ucommon::Timer::set" ref="a2b078e5003364bcc1e61c13ee44c1978" args="(timeout_t expire)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ucommon::Timer::set </td> <td>(</td> <td class="paramtype"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> </td> <td class="paramname"> <em>expire</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Set the timer to expire. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>expire</em> </td><td>time in milliseconds. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="afcf74a86209ba1cf91f3afbe7ffc7ebe"></a><!-- doxytag: member="ucommon::Timer::sync" ref="afcf74a86209ba1cf91f3afbe7ffc7ebe" args="(Timer &timer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void ucommon::Timer::sync </td> <td>(</td> <td class="paramtype"><a class="el" href="a00162.html">Timer</a> & </td> <td class="paramname"> <em>timer</em></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sleep current thread until the specified timer expires. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>to reference for sleep. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a89c6879442ce04f5496ed960c29a9eaf"></a><!-- doxytag: member="ucommon::Timer::ticks" ref="a89c6879442ce04f5496ed960c29a9eaf" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static tick_t ucommon::Timer::ticks </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get timer ticks since uuid epoch. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>timer ticks in 100ns resolution. </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>ucommon/<a class="el" href="a00203_source.html">timers.h</a></li> </ul> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Jul 14 16:40:10 2011 for ucommon by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>