git-svn-id: svn://db.shs.com.ru/pip@501 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2017-05-23 08:53:36 +00:00
parent bd95bda39a
commit 444cc9ded3
599 changed files with 5231 additions and 5283 deletions

View File

@@ -26,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">PIP
&#160;<span id="projectnumber">0.7.1</span>
&#160;<span id="projectnumber">1.0.0_rc3</span>
</div>
<div id="projectbrief">Platform-Independent Primitives</div>
</td>
@@ -125,6 +125,18 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#aaa848ec18638179a219a16c8742d75bf">isStopped</a> () const</td></tr>
<tr class="memdesc:aaa848ec18638179a219a16c8742d75bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if timer is not started. <br /></td></tr>
<tr class="separator:aaa848ec18638179a219a16c8742d75bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45d3671ef5aa2126c0a42221c2b8963f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a45d3671ef5aa2126c0a42221c2b8963f">startDeferred</a> (double delay_ms)</td></tr>
<tr class="memdesc:a45d3671ef5aa2126c0a42221c2b8963f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start timer with <b><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></b> loop delay after <b>delay_msecs</b> delay. <a href="#a45d3671ef5aa2126c0a42221c2b8963f">More...</a><br /></td></tr>
<tr class="separator:a45d3671ef5aa2126c0a42221c2b8963f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48b7932379fdc15bd8bd577797f4173d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a48b7932379fdc15bd8bd577797f4173d">startDeferred</a> (double interval_ms, double delay_ms)</td></tr>
<tr class="memdesc:a48b7932379fdc15bd8bd577797f4173d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start timer with <b>interval_msecs</b> loop delay after <b>delay_msecs</b> delay. <a href="#a48b7932379fdc15bd8bd577797f4173d">More...</a><br /></td></tr>
<tr class="separator:a48b7932379fdc15bd8bd577797f4173d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88f6a55f2a7ab5d3c0835a92fb2f991f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a88f6a55f2a7ab5d3c0835a92fb2f991f">startDeferred</a> (PIDateTime start_datetime)</td></tr>
<tr class="memdesc:a88f6a55f2a7ab5d3c0835a92fb2f991f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start timer with <b><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></b> loop delay after <b>start_datetime</b> date and time. <a href="#a88f6a55f2a7ab5d3c0835a92fb2f991f">More...</a><br /></td></tr>
<tr class="separator:a88f6a55f2a7ab5d3c0835a92fb2f991f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fb5f7f9dede84fd02d4882b0899fc40"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a0fb5f7f9dede84fd02d4882b0899fc40">startDeferred</a> (double interval_ms, PIDateTime start_datetime)</td></tr>
<tr class="memdesc:a0fb5f7f9dede84fd02d4882b0899fc40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start timer with <b>interval_msecs</b> loop delay after <b>start_datetime</b> date and time. <a href="#a0fb5f7f9dede84fd02d4882b0899fc40">More...</a><br /></td></tr>
<tr class="separator:a0fb5f7f9dede84fd02d4882b0899fc40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa166b87d70f34ca63b9c39f8f03daea4"><td class="memItemLeft" align="right" valign="top"><a id="aa166b87d70f34ca63b9c39f8f03daea4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#aa166b87d70f34ca63b9c39f8f03daea4">setData</a> (void *data_)</td></tr>
<tr class="memdesc:aa166b87d70f34ca63b9c39f8f03daea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set custom data. <br /></td></tr>
@@ -166,10 +178,10 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#ac50df87aa63e061abd460f9a71e7176a">className</a> () const</td></tr>
<tr class="memdesc:ac50df87aa63e061abd460f9a71e7176a inherit pub_methods_class_p_i_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns object class name. <br /></td></tr>
<tr class="separator:ac50df87aa63e061abd460f9a71e7176a inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2be2cb734c68719bb3c95613f7a7f55a inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a2be2cb734c68719bb3c95613f7a7f55a"></a>
virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a2be2cb734c68719bb3c95613f7a7f55a">superClassName</a> () const</td></tr>
<tr class="memdesc:a2be2cb734c68719bb3c95613f7a7f55a inherit pub_methods_class_p_i_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns object superclass name. <br /></td></tr>
<tr class="separator:a2be2cb734c68719bb3c95613f7a7f55a inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a281e02fd3810ec632c5db2e2460aa85c inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a281e02fd3810ec632c5db2e2460aa85c"></a>
virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a281e02fd3810ec632c5db2e2460aa85c">parentClassName</a> () const</td></tr>
<tr class="memdesc:a281e02fd3810ec632c5db2e2460aa85c inherit pub_methods_class_p_i_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns parent object class name. <br /></td></tr>
<tr class="separator:a281e02fd3810ec632c5db2e2460aa85c inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8df5efbe08b98034b5ebadad11a2e94e inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a8df5efbe08b98034b5ebadad11a2e94e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a8df5efbe08b98034b5ebadad11a2e94e">debug</a> () const</td></tr>
<tr class="memdesc:a8df5efbe08b98034b5ebadad11a2e94e inherit pub_methods_class_p_i_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return if debug of this object is active. <br /></td></tr>
@@ -225,9 +237,6 @@ Handlers</h2></td></tr>
<tr class="memitem:afbe09c4d09f0dc897045037c1042cd70"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#afbe09c4d09f0dc897045037c1042cd70">start</a> ()</td></tr>
<tr class="memdesc:afbe09c4d09f0dc897045037c1042cd70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start timer with <em><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></em> loop delay. <a href="#afbe09c4d09f0dc897045037c1042cd70">More...</a><br /></td></tr>
<tr class="separator:afbe09c4d09f0dc897045037c1042cd70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e4971a2f541ebac94057a61046667ce"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a9e4971a2f541ebac94057a61046667ce">start</a> (int interval_ms_i)</td></tr>
<tr class="memdesc:a9e4971a2f541ebac94057a61046667ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start timer with <b>msecs</b> loop delay. <a href="#a9e4971a2f541ebac94057a61046667ce">More...</a><br /></td></tr>
<tr class="separator:a9e4971a2f541ebac94057a61046667ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65431888fc569599e6b3ff27c1617e00"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a65431888fc569599e6b3ff27c1617e00">start</a> (double interval_ms_d)</td></tr>
<tr class="memdesc:a65431888fc569599e6b3ff27c1617e00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start timer with <b>msecs</b> loop delay. <a href="#a65431888fc569599e6b3ff27c1617e00">More...</a><br /></td></tr>
<tr class="separator:a65431888fc569599e6b3ff27c1617e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -276,7 +285,7 @@ static <a class="el" href="class_p_i_object.html">PIObject</a> *&#160;</td><td c
<tr class="separator:affa62b02040517a34b3f173d804e487f inherit related_class_p_i_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cd6444e57a0f7f25888c8b8293d3543 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a8cd6444e57a0f7f25888c8b8293d3543"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a8cd6444e57a0f7f25888c8b8293d3543">PIOBJECT_SUBCLASS</a>(<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, parent)</td></tr>
<tr class="memdesc:a8cd6444e57a0f7f25888c8b8293d3543 inherit related_class_p_i_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">you should use this macro after class declaration to use EVENT and EVENT_HANDLER of parent class <br /></td></tr>
<tr class="memdesc:a8cd6444e57a0f7f25888c8b8293d3543 inherit related_class_p_i_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">you should use this macro after class declaration to use EVENT and EVENT_HANDLER of parent class, and <em>scopeList()</em> <br /></td></tr>
<tr class="separator:a8cd6444e57a0f7f25888c8b8293d3543 inherit related_class_p_i_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab605cf0454d34cc72c65bfed2abd696a inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ab605cf0454d34cc72c65bfed2abd696a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#ab605cf0454d34cc72c65bfed2abd696a">EVENT_HANDLER0</a>(ret, <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>)&#160;&#160;&#160;ret <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>()</td></tr>
@@ -354,6 +363,10 @@ static <a class="el" href="class_p_i_object.html">PIObject</a> *&#160;</td><td c
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#ac86f9567fcbe10d7e49685e0a01b8427">CONNECTU</a>(src, event, dest, handler)</td></tr>
<tr class="memdesc:ac86f9567fcbe10d7e49685e0a01b8427 inherit related_class_p_i_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">connect event "event" from object "src" to event handler "handler". "Event" and "handler" must has equal argument lists. <br /></td></tr>
<tr class="separator:ac86f9567fcbe10d7e49685e0a01b8427 inherit related_class_p_i_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36eb41db41fc261cf97260d1dbe76867 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a36eb41db41fc261cf97260d1dbe76867"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a36eb41db41fc261cf97260d1dbe76867">CONNECTU_QUEUED</a>(src, event, dest, handler, performer)</td></tr>
<tr class="memdesc:a36eb41db41fc261cf97260d1dbe76867 inherit related_class_p_i_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">connect event "event" from object "src" to event handler "handler". Event handler will be executed by "performer". "Event" and "handler" must has equal argument lists. <br /></td></tr>
<tr class="separator:a36eb41db41fc261cf97260d1dbe76867 inherit related_class_p_i_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38e74a7ce99df00a10517f5ce4aa66c5 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a38e74a7ce99df00a10517f5ce4aa66c5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a38e74a7ce99df00a10517f5ce4aa66c5">CONNECT0</a>(ret, src, event, dest, handler)</td></tr>
<tr class="memdesc:a38e74a7ce99df00a10517f5ce4aa66c5 inherit related_class_p_i_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists <br /></td></tr>
@@ -475,7 +488,7 @@ Time measurements</h1>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="afbe09c4d09f0dc897045037c1042cd70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbe09c4d09f0dc897045037c1042cd70">&#9670;&nbsp;</a></span>start() <span class="overload">[1/3]</span></h2>
<h2 class="memtitle"><span class="permalink"><a href="#afbe09c4d09f0dc897045037c1042cd70">&#9670;&nbsp;</a></span>start() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -500,39 +513,10 @@ Time measurements</h1>
<p>Start timer with <em><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></em> loop delay. </p>
<p>Start execution of timer functions with frequency = 1 / msecs Hz. </p>
</div>
</div>
<a id="a9e4971a2f541ebac94057a61046667ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e4971a2f541ebac94057a61046667ce">&#9670;&nbsp;</a></span>start() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool PITimer::start </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>msecs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Start timer with <b>msecs</b> loop delay. </p>
<p>Start execution of timer functions with frequency = 1 / msecs Hz. </p>
</div>
</div>
<a id="a65431888fc569599e6b3ff27c1617e00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65431888fc569599e6b3ff27c1617e00">&#9670;&nbsp;</a></span>start() <span class="overload">[3/3]</span></h2>
<h2 class="memtitle"><span class="permalink"><a href="#a65431888fc569599e6b3ff27c1617e00">&#9670;&nbsp;</a></span>start() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -556,7 +540,143 @@ Time measurements</h1>
</div><div class="memdoc">
<p>Start timer with <b>msecs</b> loop delay. </p>
<p>Start execution of timer functions with frequency = 1. / msecs Hz. Instead of <em><a class="el" href="class_p_i_timer.html#a9e4971a2f541ebac94057a61046667ce" title="Start timer with msecs loop delay. ">start(int msecs)</a></em> function this variant allow start timer with frequencies more than 1 kHz </p>
<p>Start execution of timer functions with frequency = 1. / msecs Hz. Instead of <em>start(int msecs)</em> function this variant allow start timer with frequencies more than 1 kHz </p>
</div>
</div>
<a id="a45d3671ef5aa2126c0a42221c2b8963f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45d3671ef5aa2126c0a42221c2b8963f">&#9670;&nbsp;</a></span>startDeferred() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PITimer::startDeferred </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>delay_ms</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Start timer with <b><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></b> loop delay after <b>delay_msecs</b> delay. </p>
<p>Timer wait <b>delay_msecs</b> milliseconds and then normally starts with <b><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></b> loop delay. </p>
</div>
</div>
<a id="a48b7932379fdc15bd8bd577797f4173d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48b7932379fdc15bd8bd577797f4173d">&#9670;&nbsp;</a></span>startDeferred() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PITimer::startDeferred </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>interval_ms</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>delay_ms</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Start timer with <b>interval_msecs</b> loop delay after <b>delay_msecs</b> delay. </p>
<p>Timer wait <b>delay_msecs</b> milliseconds and then normally starts with <b>interval_msecs</b> loop delay. </p>
</div>
</div>
<a id="a88f6a55f2a7ab5d3c0835a92fb2f991f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88f6a55f2a7ab5d3c0835a92fb2f991f">&#9670;&nbsp;</a></span>startDeferred() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PITimer::startDeferred </td>
<td>(</td>
<td class="paramtype">PIDateTime&#160;</td>
<td class="paramname"><em>start_datetime</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Start timer with <b><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></b> loop delay after <b>start_datetime</b> date and time. </p>
<p>Timer wait until <b>start_datetime</b> and then normally starts with <b><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></b> loop delay. </p>
</div>
</div>
<a id="a0fb5f7f9dede84fd02d4882b0899fc40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fb5f7f9dede84fd02d4882b0899fc40">&#9670;&nbsp;</a></span>startDeferred() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PITimer::startDeferred </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>interval_ms</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">PIDateTime&#160;</td>
<td class="paramname"><em>start_datetime</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Start timer with <b>interval_msecs</b> loop delay after <b>start_datetime</b> date and time. </p>
<p>Timer wait until <b>start_datetime</b> and then normally starts with <b>interval_msecs</b> loop delay. </p>
</div>
</div>
@@ -634,7 +754,7 @@ Time measurements</h1>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="class_p_i_timer.html">PITimer</a></li>
<li class="footer">Generated on Mon Feb 27 2017 15:24:46 for PIP by
<li class="footer">Generated on Tue May 23 2017 11:20:44 for PIP by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>