Files
pip/doc/html/pibase_8h.html

896 lines
55 KiB
HTML

<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PIP: src_main/core/pibase.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">PIP
&#160;<span id="projectnumber">1.4.0</span>
</div>
<div id="projectbrief">Platform-Independent Primitives</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('pibase_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">pibase.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Base types and functions.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:acbb7adb82bd5dd3060e2ad0eb604b1bf"><td class="memItemLeft" align="right" valign="top"><a id="acbb7adb82bd5dd3060e2ad0eb604b1bf"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#acbb7adb82bd5dd3060e2ad0eb604b1bf">PIP_VERSION</a>&#160;&#160;&#160;((<a class="el" href="pibase_8h.html#a8883b51de92fb8a549d8e78d3db33e59">PIP_VERSION_MAJOR</a> &lt;&lt; 16) | (<a class="el" href="pibase_8h.html#a6feaccd6b29e1709448f9adbae63cfef">PIP_VERSION_MINOR</a> &lt; 8) | <a class="el" href="pibase_8h.html#a1eab67c2ab5528a13d5a071678a08bc6">PIP_VERSION_REVISION</a>)</td></tr>
<tr class="memdesc:acbb7adb82bd5dd3060e2ad0eb604b1bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version of PIP in hex - 0x##(Major)##(Minor)##(Revision) <br /></td></tr>
<tr class="separator:acbb7adb82bd5dd3060e2ad0eb604b1bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8883b51de92fb8a549d8e78d3db33e59"><td class="memItemLeft" align="right" valign="top"><a id="a8883b51de92fb8a549d8e78d3db33e59"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a8883b51de92fb8a549d8e78d3db33e59">PIP_VERSION_MAJOR</a></td></tr>
<tr class="memdesc:a8883b51de92fb8a549d8e78d3db33e59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Major value of PIP version. <br /></td></tr>
<tr class="separator:a8883b51de92fb8a549d8e78d3db33e59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6feaccd6b29e1709448f9adbae63cfef"><td class="memItemLeft" align="right" valign="top"><a id="a6feaccd6b29e1709448f9adbae63cfef"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a6feaccd6b29e1709448f9adbae63cfef">PIP_VERSION_MINOR</a></td></tr>
<tr class="memdesc:a6feaccd6b29e1709448f9adbae63cfef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minor value of PIP version. <br /></td></tr>
<tr class="separator:a6feaccd6b29e1709448f9adbae63cfef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1eab67c2ab5528a13d5a071678a08bc6"><td class="memItemLeft" align="right" valign="top"><a id="a1eab67c2ab5528a13d5a071678a08bc6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a1eab67c2ab5528a13d5a071678a08bc6">PIP_VERSION_REVISION</a></td></tr>
<tr class="memdesc:a1eab67c2ab5528a13d5a071678a08bc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Revision value of PIP version. <br /></td></tr>
<tr class="separator:a1eab67c2ab5528a13d5a071678a08bc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7382f8ef6d40b57db8a29a3ae810feb"><td class="memItemLeft" align="right" valign="top"><a id="aa7382f8ef6d40b57db8a29a3ae810feb"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#aa7382f8ef6d40b57db8a29a3ae810feb">PIP_VERSION_SUFFIX</a></td></tr>
<tr class="memdesc:aa7382f8ef6d40b57db8a29a3ae810feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suffix of PIP version. <br /></td></tr>
<tr class="separator:aa7382f8ef6d40b57db8a29a3ae810feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a5fe60328e1cb0dc0f508506afb4ae9"><td class="memItemLeft" align="right" valign="top"><a id="a7a5fe60328e1cb0dc0f508506afb4ae9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a7a5fe60328e1cb0dc0f508506afb4ae9">PIP_DEBUG</a></td></tr>
<tr class="memdesc:a7a5fe60328e1cb0dc0f508506afb4ae9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro is defined when compile-time debug is enabled. <br /></td></tr>
<tr class="separator:a7a5fe60328e1cb0dc0f508506afb4ae9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a987b73d7cc6da72732af75c5d7872d29"><td class="memItemLeft" align="right" valign="top"><a id="a987b73d7cc6da72732af75c5d7872d29"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a987b73d7cc6da72732af75c5d7872d29">WINDOWS</a></td></tr>
<tr class="memdesc:a987b73d7cc6da72732af75c5d7872d29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro is defined when host is any Windows. <br /></td></tr>
<tr class="separator:a987b73d7cc6da72732af75c5d7872d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a167ea11947b8e4a492b2366ca250dbc0"><td class="memItemLeft" align="right" valign="top"><a id="a167ea11947b8e4a492b2366ca250dbc0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a167ea11947b8e4a492b2366ca250dbc0">QNX</a></td></tr>
<tr class="memdesc:a167ea11947b8e4a492b2366ca250dbc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro is defined when host is QNX or Blackberry. <br /></td></tr>
<tr class="separator:a167ea11947b8e4a492b2366ca250dbc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1f9059d22c5abefff0cd9e682a0c3cb"><td class="memItemLeft" align="right" valign="top"><a id="af1f9059d22c5abefff0cd9e682a0c3cb"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#af1f9059d22c5abefff0cd9e682a0c3cb">BLACKBERRY</a></td></tr>
<tr class="memdesc:af1f9059d22c5abefff0cd9e682a0c3cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro is defined when host is Blackberry. <br /></td></tr>
<tr class="separator:af1f9059d22c5abefff0cd9e682a0c3cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a436564e12a6f982e63f9a76357146ad6"><td class="memItemLeft" align="right" valign="top"><a id="a436564e12a6f982e63f9a76357146ad6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a436564e12a6f982e63f9a76357146ad6">FREE_BSD</a></td></tr>
<tr class="memdesc:a436564e12a6f982e63f9a76357146ad6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro is defined when host is FreeBSD. <br /></td></tr>
<tr class="separator:a436564e12a6f982e63f9a76357146ad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92897222c2229040c842e33404deea72"><td class="memItemLeft" align="right" valign="top"><a id="a92897222c2229040c842e33404deea72"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a92897222c2229040c842e33404deea72">MAC_OS</a></td></tr>
<tr class="memdesc:a92897222c2229040c842e33404deea72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro is defined when host is Mac OS. <br /></td></tr>
<tr class="separator:a92897222c2229040c842e33404deea72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84b6d92b7538d9eb6d3cc527c0450558"><td class="memItemLeft" align="right" valign="top"><a id="a84b6d92b7538d9eb6d3cc527c0450558"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a84b6d92b7538d9eb6d3cc527c0450558">ANDROID</a></td></tr>
<tr class="memdesc:a84b6d92b7538d9eb6d3cc527c0450558"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro is defined when host is Android. <br /></td></tr>
<tr class="separator:a84b6d92b7538d9eb6d3cc527c0450558"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a157a956e14c5c44b3f73ef23a4776f64"><td class="memItemLeft" align="right" valign="top"><a id="a157a956e14c5c44b3f73ef23a4776f64"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a157a956e14c5c44b3f73ef23a4776f64">LINUX</a></td></tr>
<tr class="memdesc:a157a956e14c5c44b3f73ef23a4776f64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro is defined when host is any Linux. <br /></td></tr>
<tr class="separator:a157a956e14c5c44b3f73ef23a4776f64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1b21a2fcec2c0b8a3c5a463d9296979"><td class="memItemLeft" align="right" valign="top"><a id="ac1b21a2fcec2c0b8a3c5a463d9296979"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#ac1b21a2fcec2c0b8a3c5a463d9296979">CC_GCC</a></td></tr>
<tr class="memdesc:ac1b21a2fcec2c0b8a3c5a463d9296979"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro is defined when compiler is GCC or MinGW. <br /></td></tr>
<tr class="separator:ac1b21a2fcec2c0b8a3c5a463d9296979"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5c40e21f5f16ceeb1b98ee2de82a612"><td class="memItemLeft" align="right" valign="top"><a id="ad5c40e21f5f16ceeb1b98ee2de82a612"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#ad5c40e21f5f16ceeb1b98ee2de82a612">HAS_LOCALE</a></td></tr>
<tr class="memdesc:ad5c40e21f5f16ceeb1b98ee2de82a612"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro is defined when PIP is decided that host is support language. <br /></td></tr>
<tr class="separator:ad5c40e21f5f16ceeb1b98ee2de82a612"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e439bece2ee7f7fef34febe9b317a8f"><td class="memItemLeft" align="right" valign="top"><a id="a9e439bece2ee7f7fef34febe9b317a8f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a9e439bece2ee7f7fef34febe9b317a8f">CC_VC</a></td></tr>
<tr class="memdesc:a9e439bece2ee7f7fef34febe9b317a8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro is defined when compiler is Visual Studio. <br /></td></tr>
<tr class="separator:a9e439bece2ee7f7fef34febe9b317a8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a572d4f1b7fe8cb972e492e9d7fd83cd5"><td class="memItemLeft" align="right" valign="top"><a id="a572d4f1b7fe8cb972e492e9d7fd83cd5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a572d4f1b7fe8cb972e492e9d7fd83cd5">CC_OTHER</a></td></tr>
<tr class="memdesc:a572d4f1b7fe8cb972e492e9d7fd83cd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro is defined when compiler is unknown. <br /></td></tr>
<tr class="separator:a572d4f1b7fe8cb972e492e9d7fd83cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab866c362b595e2b327a450f6593f639a"><td class="memItemLeft" align="right" valign="top"><a id="ab866c362b595e2b327a450f6593f639a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#ab866c362b595e2b327a450f6593f639a">PIP_TIMER_RT</a></td></tr>
<tr class="memdesc:ab866c362b595e2b327a450f6593f639a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro is defined when PIP can use "rt" library for "PITimer::ThreadRT" timers implementation. <br /></td></tr>
<tr class="separator:ab866c362b595e2b327a450f6593f639a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3806a9aff68b7e2620f37a79e12fb850"><td class="memItemLeft" align="right" valign="top"><a id="a3806a9aff68b7e2620f37a79e12fb850"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a3806a9aff68b7e2620f37a79e12fb850">PIP_CONTAINERS_STL</a></td></tr>
<tr class="memdesc:a3806a9aff68b7e2620f37a79e12fb850"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define this macro to use STL implementation of containers, else PIP implementation will be used. <br /></td></tr>
<tr class="separator:a3806a9aff68b7e2620f37a79e12fb850"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73d140028db62075675e0578884fab3b"><td class="memItemLeft" align="right" valign="top"><a id="a73d140028db62075675e0578884fab3b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a73d140028db62075675e0578884fab3b">environ</a>&#160;&#160;&#160;(*_NSGetEnviron())</td></tr>
<tr class="memdesc:a73d140028db62075675e0578884fab3b"><td class="mdescLeft">&#160;</td><td class="mdescRight"><h1>define tcdrain(fd) ioctl(fd, TCSBRK, 1)</h1>
<br /></td></tr>
<tr class="separator:a73d140028db62075675e0578884fab3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73d140028db62075675e0578884fab3b"><td class="memItemLeft" align="right" valign="top"><a id="a73d140028db62075675e0578884fab3b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a73d140028db62075675e0578884fab3b">environ</a>&#160;&#160;&#160;__environ</td></tr>
<tr class="memdesc:a73d140028db62075675e0578884fab3b"><td class="mdescLeft">&#160;</td><td class="mdescRight"><h1>define tcdrain(fd) ioctl(fd, TCSBRK, 1)</h1>
<br /></td></tr>
<tr class="separator:a73d140028db62075675e0578884fab3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75c828ed6c02fcd44084e67a032e422c"><td class="memItemLeft" align="right" valign="top"><a id="a75c828ed6c02fcd44084e67a032e422c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a75c828ed6c02fcd44084e67a032e422c">FOREVER</a>&#160;&#160;&#160;for (;;)</td></tr>
<tr class="memdesc:a75c828ed6c02fcd44084e67a032e422c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro used for infinite loop. <br /></td></tr>
<tr class="separator:a75c828ed6c02fcd44084e67a032e422c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39da857669ed22c419a967d5c9acae77"><td class="memItemLeft" align="right" valign="top"><a id="a39da857669ed22c419a967d5c9acae77"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a39da857669ed22c419a967d5c9acae77">FOREVER_WAIT</a>&#160;&#160;&#160;<a class="el" href="pibase_8h.html#a75c828ed6c02fcd44084e67a032e422c">FOREVER</a> <a class="el" href="pitime_8h.html#a242b1482cf8e5f7a8c5d087a2d2b5e3b">msleep</a>(1);</td></tr>
<tr class="memdesc:a39da857669ed22c419a967d5c9acae77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro used for infinite wait. <br /></td></tr>
<tr class="separator:a39da857669ed22c419a967d5c9acae77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac89d2c332821be06166c210249b671e7"><td class="memItemLeft" align="right" valign="top"><a id="ac89d2c332821be06166c210249b671e7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#ac89d2c332821be06166c210249b671e7">WAIT_FOREVER</a>&#160;&#160;&#160;<a class="el" href="pibase_8h.html#a75c828ed6c02fcd44084e67a032e422c">FOREVER</a> <a class="el" href="pitime_8h.html#a242b1482cf8e5f7a8c5d087a2d2b5e3b">msleep</a>(1);</td></tr>
<tr class="memdesc:ac89d2c332821be06166c210249b671e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro used for infinite wait. <br /></td></tr>
<tr class="separator:ac89d2c332821be06166c210249b671e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:acdace86016235bb97019f0691fb0b2ce"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:acdace86016235bb97019f0691fb0b2ce"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="pibase_8h.html#acdace86016235bb97019f0691fb0b2ce">piSwap</a> (T &amp;f, T &amp;s)</td></tr>
<tr class="memdesc:acdace86016235bb97019f0691fb0b2ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Templated function for swap two values. <a href="#acdace86016235bb97019f0691fb0b2ce">More...</a><br /></td></tr>
<tr class="separator:acdace86016235bb97019f0691fb0b2ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a077c15d518abc4962091fa666c4bedda"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a077c15d518abc4962091fa666c4bedda"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a077c15d518abc4962091fa666c4bedda">piSwapBinary</a> (T &amp;f, T &amp;s)</td></tr>
<tr class="memdesc:a077c15d518abc4962091fa666c4bedda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Templated function for swap two values without "=". <a href="#a077c15d518abc4962091fa666c4bedda">More...</a><br /></td></tr>
<tr class="separator:a077c15d518abc4962091fa666c4bedda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2648a7b594e3a3d4d582f2480914d2a3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a2648a7b594e3a3d4d582f2480914d2a3">piCompareBinary</a> (const void *f, const void *s, size_t size)</td></tr>
<tr class="memdesc:a2648a7b594e3a3d4d582f2480914d2a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for compare two values without "=" by raw content. <a href="#a2648a7b594e3a3d4d582f2480914d2a3">More...</a><br /></td></tr>
<tr class="separator:a2648a7b594e3a3d4d582f2480914d2a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a983fb6261220848dead0db5ffba95071"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a983fb6261220848dead0db5ffba95071"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a983fb6261220848dead0db5ffba95071">piRound</a> (const T &amp;v)</td></tr>
<tr class="memdesc:a983fb6261220848dead0db5ffba95071"><td class="mdescLeft">&#160;</td><td class="mdescRight">Templated function return round of float falue. <a href="#a983fb6261220848dead0db5ffba95071">More...</a><br /></td></tr>
<tr class="separator:a983fb6261220848dead0db5ffba95071"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9e59a89deba3a70f6a7ce9e746eadc6"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ab9e59a89deba3a70f6a7ce9e746eadc6"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="pibase_8h.html#ab9e59a89deba3a70f6a7ce9e746eadc6">piFloor</a> (const T &amp;v)</td></tr>
<tr class="memdesc:ab9e59a89deba3a70f6a7ce9e746eadc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Templated function return floor of float falue. <a href="#ab9e59a89deba3a70f6a7ce9e746eadc6">More...</a><br /></td></tr>
<tr class="separator:ab9e59a89deba3a70f6a7ce9e746eadc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4956481d8bee1a43e62ce8b1489b72b0"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a4956481d8bee1a43e62ce8b1489b72b0"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a4956481d8bee1a43e62ce8b1489b72b0">piCeil</a> (const T &amp;v)</td></tr>
<tr class="memdesc:a4956481d8bee1a43e62ce8b1489b72b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Templated function return ceil of float falue. <a href="#a4956481d8bee1a43e62ce8b1489b72b0">More...</a><br /></td></tr>
<tr class="separator:a4956481d8bee1a43e62ce8b1489b72b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69a3e3d862d6b51feaca8d27686dd876"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a69a3e3d862d6b51feaca8d27686dd876"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a69a3e3d862d6b51feaca8d27686dd876">piAbs</a> (const T &amp;v)</td></tr>
<tr class="memdesc:a69a3e3d862d6b51feaca8d27686dd876"><td class="mdescLeft">&#160;</td><td class="mdescRight">Templated function return absolute of numeric falue. <a href="#a69a3e3d862d6b51feaca8d27686dd876">More...</a><br /></td></tr>
<tr class="separator:a69a3e3d862d6b51feaca8d27686dd876"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc6d1b1ff01ad00cda9d0df5e8dbf85f"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:afc6d1b1ff01ad00cda9d0df5e8dbf85f"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="pibase_8h.html#afc6d1b1ff01ad00cda9d0df5e8dbf85f">piMin</a> (const T &amp;f, const T &amp;s)</td></tr>
<tr class="memdesc:afc6d1b1ff01ad00cda9d0df5e8dbf85f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Templated function return minimum of two values. <a href="#afc6d1b1ff01ad00cda9d0df5e8dbf85f">More...</a><br /></td></tr>
<tr class="separator:afc6d1b1ff01ad00cda9d0df5e8dbf85f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a342413b3c07aed06a22289a9e0daaead"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a342413b3c07aed06a22289a9e0daaead"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a342413b3c07aed06a22289a9e0daaead">piMin</a> (const T &amp;f, const T &amp;s, const T &amp;t)</td></tr>
<tr class="memdesc:a342413b3c07aed06a22289a9e0daaead"><td class="mdescLeft">&#160;</td><td class="mdescRight">Templated function return minimum of tree values. <a href="#a342413b3c07aed06a22289a9e0daaead">More...</a><br /></td></tr>
<tr class="separator:a342413b3c07aed06a22289a9e0daaead"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b04f3381ca3235a4fe575b4867263c6"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a3b04f3381ca3235a4fe575b4867263c6"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a3b04f3381ca3235a4fe575b4867263c6">piMax</a> (const T &amp;f, const T &amp;s)</td></tr>
<tr class="memdesc:a3b04f3381ca3235a4fe575b4867263c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Templated function return maximum of two values. <a href="#a3b04f3381ca3235a4fe575b4867263c6">More...</a><br /></td></tr>
<tr class="separator:a3b04f3381ca3235a4fe575b4867263c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a291a707199f16a78fe41d79a9b89bc00"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a291a707199f16a78fe41d79a9b89bc00"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a291a707199f16a78fe41d79a9b89bc00">piMax</a> (const T &amp;f, const T &amp;s, const T &amp;t)</td></tr>
<tr class="memdesc:a291a707199f16a78fe41d79a9b89bc00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Templated function return maximum of tree values. <a href="#a291a707199f16a78fe41d79a9b89bc00">More...</a><br /></td></tr>
<tr class="separator:a291a707199f16a78fe41d79a9b89bc00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9269f3c0357a9c7e33c8c5f346c47309"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a9269f3c0357a9c7e33c8c5f346c47309"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a9269f3c0357a9c7e33c8c5f346c47309">piClamp</a> (const T &amp;v, const T &amp;min, const T &amp;max)</td></tr>
<tr class="memdesc:a9269f3c0357a9c7e33c8c5f346c47309"><td class="mdescLeft">&#160;</td><td class="mdescRight">Templated function return clamped value. <a href="#a9269f3c0357a9c7e33c8c5f346c47309">More...</a><br /></td></tr>
<tr class="separator:a9269f3c0357a9c7e33c8c5f346c47309"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc830007b90d3beea81c0773811dbc9e"><td class="memItemLeft" align="right" valign="top"><a id="abc830007b90d3beea81c0773811dbc9e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#abc830007b90d3beea81c0773811dbc9e">piLetobe</a> (void *data, int size)</td></tr>
<tr class="memdesc:abc830007b90d3beea81c0773811dbc9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function inverse byte order in memory block. <br /></td></tr>
<tr class="separator:abc830007b90d3beea81c0773811dbc9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1de16289b486990a4af21b1faad08e0e"><td class="memTemplParams" colspan="2"><a id="a1de16289b486990a4af21b1faad08e0e"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a1de16289b486990a4af21b1faad08e0e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a1de16289b486990a4af21b1faad08e0e">piLetobe</a> (T *v)</td></tr>
<tr class="memdesc:a1de16289b486990a4af21b1faad08e0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Templated function that inverse byte order of value "v". <br /></td></tr>
<tr class="separator:a1de16289b486990a4af21b1faad08e0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a142038da46a86ef1fc1ab52f57c21010"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a142038da46a86ef1fc1ab52f57c21010"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a142038da46a86ef1fc1ab52f57c21010">piLetobe</a> (const T &amp;v)</td></tr>
<tr class="memdesc:a142038da46a86ef1fc1ab52f57c21010"><td class="mdescLeft">&#160;</td><td class="mdescRight">Templated function that returns "v" with inversed byte order. <a href="#a142038da46a86ef1fc1ab52f57c21010">More...</a><br /></td></tr>
<tr class="separator:a142038da46a86ef1fc1ab52f57c21010"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec6bba617007bb4636bbef74038cd09a"><td class="memItemLeft" align="right" valign="top">ushort&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#aec6bba617007bb4636bbef74038cd09a">letobe_s</a> (ushort v)</td></tr>
<tr class="memdesc:aec6bba617007bb4636bbef74038cd09a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use <em><a class="el" href="pibase_8h.html#abc830007b90d3beea81c0773811dbc9e" title="Function inverse byte order in memory block. ">piLetobe()</a></em> instead of this function. <a href="#aec6bba617007bb4636bbef74038cd09a">More...</a><br /></td></tr>
<tr class="separator:aec6bba617007bb4636bbef74038cd09a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2107d4b68fdcfc213defacffefbc6d03"><td class="memItemLeft" align="right" valign="top">uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a2107d4b68fdcfc213defacffefbc6d03">letobe_i</a> (uint v)</td></tr>
<tr class="memdesc:a2107d4b68fdcfc213defacffefbc6d03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use <em><a class="el" href="pibase_8h.html#abc830007b90d3beea81c0773811dbc9e" title="Function inverse byte order in memory block. ">piLetobe()</a></em> instead of this function. <a href="#a2107d4b68fdcfc213defacffefbc6d03">More...</a><br /></td></tr>
<tr class="separator:a2107d4b68fdcfc213defacffefbc6d03"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a4f24177400b625bdd603032fa6e2e14a"><td class="memItemLeft" align="right" valign="top"><a id="a4f24177400b625bdd603032fa6e2e14a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a4f24177400b625bdd603032fa6e2e14a">piDebug</a></td></tr>
<tr class="memdesc:a4f24177400b625bdd603032fa6e2e14a"><td class="mdescLeft">&#160;</td><td class="mdescRight">global variable enabling output to piCout, default is true <br /></td></tr>
<tr class="separator:a4f24177400b625bdd603032fa6e2e14a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a3d8701b7129b881e1e5bfc654efe0b"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pibase_8h.html#a5a3d8701b7129b881e1e5bfc654efe0b">piMountInfoRefreshIntervalMs</a></td></tr>
<tr class="separator:a5a3d8701b7129b881e1e5bfc654efe0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base types and functions. </p>
<p>This file implements first layer above the system and declares some basic useful functions </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="acdace86016235bb97019f0691fb0b2ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acdace86016235bb97019f0691fb0b2ce">&#9670;&nbsp;</a></span>piSwap()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void piSwap </td>
<td>(</td>
<td class="paramtype">T &amp;&#160;</td>
<td class="paramname"><em>f</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T &amp;&#160;</td>
<td class="paramname"><em>s</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>Templated function for swap two values. </p>
<p>Example:<br />
</p><div class="fragment"><div class="line"><span class="keywordtype">int</span> v1 = 1, v2 = 2;</div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; v1 &lt;&lt; v2; <span class="comment">// 1 2</span></div><div class="line">piSwap&lt;int&gt;(v1, v2);</div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; v1 &lt;&lt; v2; <span class="comment">// 2 1</span></div></div><!-- fragment -->
</div>
</div>
<a id="a077c15d518abc4962091fa666c4bedda"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a077c15d518abc4962091fa666c4bedda">&#9670;&nbsp;</a></span>piSwapBinary()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void piSwapBinary </td>
<td>(</td>
<td class="paramtype">T &amp;&#160;</td>
<td class="paramname"><em>f</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T &amp;&#160;</td>
<td class="paramname"><em>s</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>Templated function for swap two values without "=". </p>
<p>Example:<br />
</p><div class="fragment"></div><!-- fragment -->
</div>
</div>
<a id="a2648a7b594e3a3d4d582f2480914d2a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2648a7b594e3a3d4d582f2480914d2a3">&#9670;&nbsp;</a></span>piCompareBinary()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool piCompareBinary </td>
<td>(</td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>f</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</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>Function for compare two values without "=" by raw content. </p>
<p>Example:<br />
</p><div class="fragment"></div><!-- fragment -->
</div>
</div>
<a id="a983fb6261220848dead0db5ffba95071"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a983fb6261220848dead0db5ffba95071">&#9670;&nbsp;</a></span>piRound()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int piRound </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>v</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>Templated function return round of float falue. </p>
<p>Round is the nearest integer value <br />
There are some macros:</p><ul>
<li><code>piRoundf</code> for "float"</li>
<li><code>piRoundd</code> for "double"</li>
</ul>
<p>Example: </p><div class="fragment"><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piRoundf(0.6f) &lt;&lt; piRoundd(0.2); <span class="comment">// 1 0</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piRoundf(-0.6f) &lt;&lt; piRoundd(-0.2); <span class="comment">// -1 0</span></div></div><!-- fragment -->
</div>
</div>
<a id="ab9e59a89deba3a70f6a7ce9e746eadc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9e59a89deba3a70f6a7ce9e746eadc6">&#9670;&nbsp;</a></span>piFloor()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int piFloor </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>v</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>Templated function return floor of float falue. </p>
<p>Floor is the largest integer that is not greater than value <br />
There are some macros:</p><ul>
<li><code>piFloorf</code> for "float"</li>
<li><code>piFloord</code> for "double"</li>
</ul>
<p>Example: </p><div class="fragment"><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piFloorf(0.6f) &lt;&lt; piFloorf(0.2); <span class="comment">// 0 0</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piFloorf(-0.6f) &lt;&lt; piFloorf(-0.2f); <span class="comment">// -1 -1</span></div></div><!-- fragment -->
</div>
</div>
<a id="a4956481d8bee1a43e62ce8b1489b72b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4956481d8bee1a43e62ce8b1489b72b0">&#9670;&nbsp;</a></span>piCeil()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int piCeil </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>v</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>Templated function return ceil of float falue. </p>
<p>Ceil is the smallest integer that is not less than value <br />
There are some macros:</p><ul>
<li><code>piCeilf</code> for "float"</li>
<li><code>piCeild</code> for "double"</li>
</ul>
<p>Example: </p><div class="fragment"><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piCeilf(0.6f) &lt;&lt; piCeilf(0.2); <span class="comment">// 1 1</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piCeilf(-0.6f) &lt;&lt; piCeilf(-0.2f); <span class="comment">// 0 0</span></div></div><!-- fragment -->
</div>
</div>
<a id="a69a3e3d862d6b51feaca8d27686dd876"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69a3e3d862d6b51feaca8d27686dd876">&#9670;&nbsp;</a></span>piAbs()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T piAbs </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>v</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>Templated function return absolute of numeric falue. </p>
<p>Absolute is the positive or equal 0 value <br />
There are some macros:</p><ul>
<li><code>piAbss</code> for "short"</li>
<li><code>piAbsi</code> for "int"</li>
<li><code>piAbsl</code> for "long"</li>
<li><code>piAbsll</code> for "llong"</li>
<li><code>piAbsf</code> for "float"</li>
<li><code>piAbsd</code> for "double"</li>
</ul>
<p>Example: </p><div class="fragment"><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piAbsi(5) &lt;&lt; piAbsi(-11); <span class="comment">// 5 11</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piAbsf(-0.6f) &lt;&lt; piAbsf(-0.2f); <span class="comment">// 0.6 0.2</span></div></div><!-- fragment -->
</div>
</div>
<a id="afc6d1b1ff01ad00cda9d0df5e8dbf85f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc6d1b1ff01ad00cda9d0df5e8dbf85f">&#9670;&nbsp;</a></span>piMin() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T piMin </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>f</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>s</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>Templated function return minimum of two values. </p>
<p>There are some macros:</p><ul>
<li><code>piMins</code> for "short"</li>
<li><code>piMini</code> for "int"</li>
<li><code>piMinl</code> for "long"</li>
<li><code>piMinll</code> for "llong"</li>
<li><code>piMinf</code> for "float"</li>
<li><code>piMind</code> for "double"</li>
</ul>
<p>Example: </p><div class="fragment"><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piMini(5, 1); <span class="comment">// 1</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piMinf(-0.6f, -0.2f); <span class="comment">// -0.6</span></div></div><!-- fragment -->
</div>
</div>
<a id="a342413b3c07aed06a22289a9e0daaead"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a342413b3c07aed06a22289a9e0daaead">&#9670;&nbsp;</a></span>piMin() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T piMin </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>f</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>t</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>Templated function return minimum of tree values. </p>
<p>There are some macros:</p><ul>
<li><code>piMins</code> for "short"</li>
<li><code>piMini</code> for "int"</li>
<li><code>piMinl</code> for "long"</li>
<li><code>piMinll</code> for "llong"</li>
<li><code>piMinf</code> for "float"</li>
<li><code>piMind</code> for "double"</li>
</ul>
<p>Example: </p><div class="fragment"><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piMini(5, 1, -1); <span class="comment">// -1</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piMinf(-0.6f, -0.2f, 1.f); <span class="comment">// -0.6</span></div></div><!-- fragment -->
</div>
</div>
<a id="a3b04f3381ca3235a4fe575b4867263c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b04f3381ca3235a4fe575b4867263c6">&#9670;&nbsp;</a></span>piMax() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T piMax </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>f</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>s</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>Templated function return maximum of two values. </p>
<p>There are some macros:</p><ul>
<li><code>piMaxs</code> for "short"</li>
<li><code>piMaxi</code> for "int"</li>
<li><code>piMaxl</code> for "long"</li>
<li><code>piMaxll</code> for "llong"</li>
<li><code>piMaxf</code> for "float"</li>
<li><code>piMaxd</code> for "double"</li>
</ul>
<p>Example: </p><div class="fragment"><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piMaxi(5, 1); <span class="comment">// 5</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piMaxf(-0.6f, -0.2f); <span class="comment">// -0.2</span></div></div><!-- fragment -->
</div>
</div>
<a id="a291a707199f16a78fe41d79a9b89bc00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a291a707199f16a78fe41d79a9b89bc00">&#9670;&nbsp;</a></span>piMax() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T piMax </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>f</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>t</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>Templated function return maximum of tree values. </p>
<p>There are some macros:</p><ul>
<li><code>piMaxs</code> for "short"</li>
<li><code>piMaxi</code> for "int"</li>
<li><code>piMaxl</code> for "long"</li>
<li><code>piMaxll</code> for "llong"</li>
<li><code>piMaxf</code> for "float"</li>
<li><code>piMaxd</code> for "double"</li>
</ul>
<p>Example: </p><div class="fragment"><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piMaxi(5, 1, -1); <span class="comment">// 5</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piMaxf(-0.6f, -0.2f, 1.f); <span class="comment">// 1</span></div></div><!-- fragment -->
</div>
</div>
<a id="a9269f3c0357a9c7e33c8c5f346c47309"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9269f3c0357a9c7e33c8c5f346c47309">&#9670;&nbsp;</a></span>piClamp()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T piClamp </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>max</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>Templated function return clamped value. </p>
<p>Clamped is the not greater than "max" and not lesser than "min" value <br />
There are some macros:</p><ul>
<li><code>piClamps</code> for "short"</li>
<li><code>piClampi</code> for "int"</li>
<li><code>piClampl</code> for "long"</li>
<li><code>piClampll</code> for "llong"</li>
<li><code>piClampf</code> for "float"</li>
<li><code>piClampd</code> for "double"</li>
</ul>
<p>Example: </p><div class="fragment"><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piClampf(-5, -3, 2); <span class="comment">// -3</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piClampf(1, -3, 2); <span class="comment">// 1</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; piClampf(5, -3, 2); <span class="comment">// 2</span></div></div><!-- fragment -->
</div>
</div>
<a id="a142038da46a86ef1fc1ab52f57c21010"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a142038da46a86ef1fc1ab52f57c21010">&#9670;&nbsp;</a></span>piLetobe()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T piLetobe </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>v</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>Templated function that returns "v" with inversed byte order. </p>
<p>This function used to convert values between little and big endian <br />
There are some macros:</p><ul>
<li><code>piLetobes</code> for "ushort"</li>
<li><code>piLetobei</code> for "uint"</li>
<li><code>piLetobel</code> for "ulong"</li>
<li><code>piLetobell</code> for "ullong"</li>
</ul>
<p>Example: </p><div class="fragment"></div><!-- fragment -->
</div>
</div>
<a id="aec6bba617007bb4636bbef74038cd09a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec6bba617007bb4636bbef74038cd09a">&#9670;&nbsp;</a></span>letobe_s()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ushort letobe_s </td>
<td>(</td>
<td class="paramtype">ushort&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Use <em><a class="el" href="pibase_8h.html#abc830007b90d3beea81c0773811dbc9e" title="Function inverse byte order in memory block. ">piLetobe()</a></em> instead of this function. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd></dd></dl>
</div>
</div>
<a id="a2107d4b68fdcfc213defacffefbc6d03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2107d4b68fdcfc213defacffefbc6d03">&#9670;&nbsp;</a></span>letobe_i()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint letobe_i </td>
<td>(</td>
<td class="paramtype">uint&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Use <em><a class="el" href="pibase_8h.html#abc830007b90d3beea81c0773811dbc9e" title="Function inverse byte order in memory block. ">piLetobe()</a></em> instead of this function. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd></dd></dl>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a5a3d8701b7129b881e1e5bfc654efe0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a3d8701b7129b881e1e5bfc654efe0b">&#9670;&nbsp;</a></span>piMountInfoRefreshIntervalMs</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double piMountInfoRefreshIntervalMs</td>
</tr>
</table>
</div><div class="memdoc">
<p>global variable that set minimum real update interval for function PIInit::mountInfo(), default is 10000 ms </p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_c39d941190e65058370f775069a7d692.html">src_main</a></li><li class="navelem"><a class="el" href="dir_5b3c471804d69f73ade30399a1a53f16.html">core</a></li><li class="navelem"><a class="el" href="pibase_8h.html">pibase.h</a></li>
<li class="footer">Generated on Fri Dec 8 2017 16:36:04 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>
</div>
</body>
</html>