This commit is contained in:
2025-11-24 14:19:51 +05:30
commit f5c1412b28
6734 changed files with 1527575 additions and 0 deletions

View File

@ -0,0 +1,13 @@
var _statistics_history_8h =
[
[ "StatisticsHistory", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml", "d4/d5b/class_s_l_net_1_1_statistics_history" ],
[ "TrackedObjectData", "db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml", "db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data" ],
[ "TimeAndValue", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value", [
[ "time", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a70ccc92b1848b9bb6af59b324d2981d7", null ],
[ "val", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a56426f42befe03e378f2fc43e1c7d88c", null ]
] ],
[ "TimeAndValueQueue", "d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml", "d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue" ],
[ "TrackedObject", "d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml", "d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object" ],
[ "SH_TYPE_MAX", "d3/dbf/_statistics_history_8h.xhtml#a777606409e2d05f59110446410df9c1d", null ],
[ "SHValueType", "d3/dbf/_statistics_history_8h.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca", null ]
];

View File

@ -0,0 +1,225 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/StatisticsHistory.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="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</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('d3/dbf/_statistics_history_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> </div>
<div class="headertitle">
<div class="title">StatisticsHistory.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or all-time values.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">NativeFeatureIncludes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/ddd/_plugin_interface2_8h_source.xhtml">PluginInterface2.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../df/df2/_native_types_8h_source.xhtml">NativeTypes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml">DS_List.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d6/d4d/_d_s___ordered_list_8h_source.xhtml">DS_OrderedList.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../da/d66/string_8h_source.xhtml">string.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml">DS_Queue.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d2/d77/_d_s___hash_8h_source.xhtml">DS_Hash.h</a>&quot;</code><br/>
<code>#include &lt;float.h&gt;</code><br/>
</div>
<p><a href="../../d3/dbf/_statistics_history_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml">SLNet::StatisticsHistory</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or all-time values. <a href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml">SLNet::StatisticsHistory::TrackedObjectData</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value">SLNet::StatisticsHistory::TimeAndValue</a></td></tr>
<tr class="separator:dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">SLNet::StatisticsHistory::TimeAndValueQueue</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml">SLNet::StatisticsHistory::TrackedObject</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dd/d3f/class_s_l_net_1_1_statistics_history_plugin"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/db6/group___p_l_u_g_i_n_s___g_r_o_u_p.xhtml#dd/d3f/class_s_l_net_1_1_statistics_history_plugin">SLNet::StatisticsHistoryPlugin</a></td></tr>
<tr class="memdesc:dd/d3f/class_s_l_net_1_1_statistics_history_plugin"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or all-time values. <a href="../../df/db6/group___p_l_u_g_i_n_s___g_r_o_u_p.xhtml#dd/d3f/class_s_l_net_1_1_statistics_history_plugin">More...</a><br/></td></tr>
<tr class="separator:dd/d3f/class_s_l_net_1_1_statistics_history_plugin"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a777606409e2d05f59110446410df9c1d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbf/_statistics_history_8h.xhtml#a777606409e2d05f59110446410df9c1d">SH_TYPE_MAX</a>&#160;&#160;&#160;DBL_MAX</td></tr>
<tr class="separator:a777606409e2d05f59110446410df9c1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:abadcff7b9a7a60aecb46b6bea5b142ca"><td class="memItemLeft" align="right" valign="top">typedef double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SLNet::SHValueType</a></td></tr>
<tr class="separator:abadcff7b9a7a60aecb46b6bea5b142ca"><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>Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or all-time values. </p>
<p>Definition in file <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml">StatisticsHistory.h</a>.</p>
</div><hr/><h2 class="groupheader">Class Documentation</h2>
<a name="dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value" id="dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct SLNet::StatisticsHistory::TimeAndValue</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock">
<p>Definition at line <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml#l00129">129</a> of file <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml">StatisticsHistory.h</a>.</p>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a70ccc92b1848b9bb6af59b324d2981d7"></a><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a></td>
<td class="fieldname">
time</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a56426f42befe03e378f2fc43e1c7d88c"></a><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a></td>
<td class="fieldname">
val</td>
<td class="fielddoc">
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a777606409e2d05f59110446410df9c1d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SH_TYPE_MAX&#160;&#160;&#160;DBL_MAX</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml#l00044">44</a> of file <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml">StatisticsHistory.h</a>.</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_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d3/dbf/_statistics_history_8h.xhtml">StatisticsHistory.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,345 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/StatisticsHistory.h Source File</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="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</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('d3/dbf/_statistics_history_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">StatisticsHistory.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d3/dbf/_statistics_history_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_StatisticsHistory==1</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#ifndef __STATISTICS_HISTORY_H</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __STATISTICS_HISTORY_H</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/ddd/_plugin_interface2_8h.xhtml" title="RakNet&#39;s plugin functionality system, version 2. You can derive from this to create your own plugins...">PluginInterface2.h</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dd/dc5/memoryoverride_8h.xhtml" title="If _USE_RAK_MEMORY_OVERRIDE is defined, memory allocations go through rakMalloc, rakRealloc, and rakFree.">memoryoverride.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../df/df2/_native_types_8h.xhtml">NativeTypes.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d7f/_d_s___list_8h.xhtml">DS_List.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d49/types_8h.xhtml" title="Types used by RakNet, most of which involve user code.">types.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d6/d4d/_d_s___ordered_list_8h.xhtml">DS_OrderedList.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/d66/string_8h.xhtml">string.h</a>&quot;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dc/d8d/_d_s___queue_8h.xhtml">DS_Queue.h</a>&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d2/d77/_d_s___hash_8h.xhtml">DS_Hash.h</a>&quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &lt;float.h&gt;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca"> 40</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml" title="The main interface for network communications.">RakPeerInterface</a>;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment">// Type used to track values. If needed, change to double and recompile</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="../../d3/dbf/_statistics_history_8h.xhtml#a777606409e2d05f59110446410df9c1d"> 44</a></span>&#160;<span class="preprocessor">#define SH_TYPE_MAX DBL_MAX</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml"> 47</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml" title="Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or ...">StatisticsHistory</a></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">// GetInstance() and DestroyInstance(instance*)</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#af3e49377f340027d211b2814949efc48">STATIC_FACTORY_DECLARATIONS</a>(<a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml" title="Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or ...">StatisticsHistory</a>)</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484"> 53</a></span>&#160; enum <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484">SHErrorCode</a></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484ac1e166c07d02a1fc313fb4dc74d74d2b"> 55</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484ac1e166c07d02a1fc313fb4dc74d74d2b">SH_OK</a>,</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484a060f13c7ed4fb6b2561efd84808f68ab"> 56</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484a060f13c7ed4fb6b2561efd84808f68ab">SH_UKNOWN_OBJECT</a>,</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484ac21cef3a4be35ffa128ce942546bd0c9"> 57</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484ac21cef3a4be35ffa128ce942546bd0c9">SH_UKNOWN_KEY</a>,</div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484a3070cf841524d2f38529c2f66a2de096"> 58</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484a3070cf841524d2f38529c2f66a2de096">SH_INVALID_PARAMETER</a>,</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; };</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716"> 61</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716">SHSortOperation</a></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716ab0dbaf8b8c91cfb40ff343a14b63ab17"> 63</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716ab0dbaf8b8c91cfb40ff343a14b63ab17">SH_DO_NOT_SORT</a>,</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716ad6fc43a1004b2d26b7c4b4233f9a804a"> 65</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716ad6fc43a1004b2d26b7c4b4233f9a804a">SH_SORT_BY_RECENT_SUM_ASCENDING</a>,</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a5a7947e50c570d77776a7605819d15a8"> 66</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a5a7947e50c570d77776a7605819d15a8">SH_SORT_BY_RECENT_SUM_DESCENDING</a>,</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a22613fd5b6a51eb0547fd094b0855c9e"> 67</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a22613fd5b6a51eb0547fd094b0855c9e">SH_SORT_BY_LONG_TERM_SUM_ASCENDING</a>,</div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a27ec1896e71efa11a97e68ea14ad9d56"> 68</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a27ec1896e71efa11a97e68ea14ad9d56">SH_SORT_BY_LONG_TERM_SUM_DESCENDING</a>,</div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a8f6fed33cfc6c220299a2b755fa1cf7a"> 69</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a8f6fed33cfc6c220299a2b755fa1cf7a">SH_SORT_BY_RECENT_SUM_OF_SQUARES_ASCENDING</a>,</div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a37d95585e27e0b30cbf7eab617a8692b"> 70</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a37d95585e27e0b30cbf7eab617a8692b">SH_SORT_BY_RECENT_SUM_OF_SQUARES_DESCENDING</a>,</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716aeea309cd6aa2daf517fb9fd86ab619bb"> 71</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716aeea309cd6aa2daf517fb9fd86ab619bb">SH_SORT_BY_RECENT_AVERAGE_ASCENDING</a>,</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716aac06a4a33a1dfe5d9ed21764565645fd"> 72</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716aac06a4a33a1dfe5d9ed21764565645fd">SH_SORT_BY_RECENT_AVERAGE_DESCENDING</a>,</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716aa597ce97c990aac9d1a1d08f7ccd7753"> 73</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716aa597ce97c990aac9d1a1d08f7ccd7753">SH_SORT_BY_LONG_TERM_AVERAGE_ASCENDING</a>,</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a86a29b4714957895e351f4746a4baae6"> 74</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a86a29b4714957895e351f4746a4baae6">SH_SORT_BY_LONG_TERM_AVERAGE_DESCENDING</a>,</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a817948ff60addfad57ec864bf3f17684"> 75</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a817948ff60addfad57ec864bf3f17684">SH_SORT_BY_RECENT_HIGHEST_ASCENDING</a>,</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a73ef5ee0e36c6c679bb52ad58a1af6ed"> 76</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a73ef5ee0e36c6c679bb52ad58a1af6ed">SH_SORT_BY_RECENT_HIGHEST_DESCENDING</a>,</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a0ee212727f6b36de6814f0a176f1b67c"> 77</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a0ee212727f6b36de6814f0a176f1b67c">SH_SORT_BY_RECENT_LOWEST_ASCENDING</a>,</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716afa526f814f8b4a9c78c1735bc0867f49"> 78</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716afa526f814f8b4a9c78c1735bc0867f49">SH_SORT_BY_RECENT_LOWEST_DESCENDING</a>,</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a1fc99ea563c53c47dcfad7d7b6f05bae"> 79</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a1fc99ea563c53c47dcfad7d7b6f05bae">SH_SORT_BY_LONG_TERM_HIGHEST_ASCENDING</a>,</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a2bb7ea0f5dc892674cf3c00e97a6892d"> 80</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a2bb7ea0f5dc892674cf3c00e97a6892d">SH_SORT_BY_LONG_TERM_HIGHEST_DESCENDING</a>,</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716ae089d73e5c4a5ca1dc0ef0f6bc0fb20e"> 81</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716ae089d73e5c4a5ca1dc0ef0f6bc0fb20e">SH_SORT_BY_LONG_TERM_LOWEST_ASCENDING</a>,</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a40ccc4e3c194eacded35fbf1f462e6bf"> 82</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a40ccc4e3c194eacded35fbf1f462e6bf">SH_SORT_BY_LONG_TERM_LOWEST_DESCENDING</a>,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; };</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1"> 85</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1">SHDataCategory</a></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1a4b213c641c05d4de3bdfa59107438b76"> 90</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1a4b213c641c05d4de3bdfa59107438b76">DC_DISCRETE</a>,</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1abad5ad3c97f0d3b796011eac204ab497"> 96</a></span>&#160; DC_CONTINUOUS</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; };</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">struct </span>TimeAndValue;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">struct </span>TimeAndValueQueue;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml"> 102</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml">TrackedObjectData</a></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml">TrackedObjectData</a>();</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml">TrackedObjectData</a>(<a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> _objectId, <span class="keywordtype">int</span> _objectType, <span class="keywordtype">void</span> *_userData);</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="code" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml#acbbfa0f8ba9e7b4f129bd07ec1c597c7"> 106</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> <a class="code" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml#acbbfa0f8ba9e7b4f129bd07ec1c597c7">objectId</a>;</div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="code" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml#a90d9c7eda2dc82fe8f210029c1fa5112"> 107</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml#a90d9c7eda2dc82fe8f210029c1fa5112">objectType</a>;</div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml#a4840b5af12e549cbfaaf5c9d94d077a7"> 108</a></span>&#160; <span class="keywordtype">void</span> *<a class="code" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml#a4840b5af12e549cbfaaf5c9d94d077a7">userData</a>;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; };</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml" title="Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or ...">StatisticsHistory</a>();</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml" title="Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or ...">StatisticsHistory</a>();</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordtype">void</span> SetDefaultTimeToTrack(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> defaultTimeToTrack);</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> GetDefaultTimeToTrack(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordtype">bool</span> AddObject(<a class="code" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml">TrackedObjectData</a> tod);</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordtype">bool</span> RemoveObject(<a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> objectId, <span class="keywordtype">void</span> **userData);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordtype">void</span> RemoveObjectAtIndex(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordtype">void</span> Clear(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GetObjectCount(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml">StatisticsHistory::TrackedObjectData</a> * GetObjectAtIndex(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GetObjectIndex(<a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> objectId) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordtype">bool</span> AddValueByObjectID(<a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> objectId, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">RakString</a> key, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> val, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> curTime, <span class="keywordtype">bool</span> combineEqualTimes);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordtype">void</span> AddValueByIndex(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">RakString</a> key, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> val, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> curTime, <span class="keywordtype">bool</span> combineEqualTimes);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484">SHErrorCode</a> GetHistoryForKey(<a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> objectId, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">RakString</a> key, <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a> **values, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> curTime) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordtype">bool</span> GetHistorySorted(<a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> objectId, <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716">SHSortOperation</a> sortType, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml" title="Array based implementation of a list.">DataStructures::List&lt;TimeAndValueQueue *&gt;</a> &amp;values) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordtype">void</span> MergeAllObjectsOnKey(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">RakString</a> key, <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a> *tavqOutput, <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1">SHDataCategory</a> dataCategory) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordtype">void</span> GetUniqueKeyList(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml" title="Array based implementation of a list.">DataStructures::List&lt;RakString&gt;</a> &amp;keys);</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml"> 129</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value">TimeAndValue</a></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; {</div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a70ccc92b1848b9bb6af59b324d2981d7"> 131</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a70ccc92b1848b9bb6af59b324d2981d7">time</a>;</div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a56426f42befe03e378f2fc43e1c7d88c"> 132</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a56426f42befe03e378f2fc43e1c7d88c">val</a>;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; };</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml"> 135</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a>();</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; ~<a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a>();</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#a9367bc8ca0f70a1821004c400c52c530"> 140</a></span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue&lt;TimeAndValue&gt;</a> <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#a9367bc8ca0f70a1821004c400c52c530">values</a>;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#adedbaeea2c21321ab0341be394ce0c80"> 142</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#adedbaeea2c21321ab0341be394ce0c80">timeToTrackValues</a>;</div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#aefb93bc7c31786d286c5b2a541f48426"> 143</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">RakString</a> <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#aefb93bc7c31786d286c5b2a541f48426">key</a>;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#a467cfe2b845cd9d27d04adb02b40fc0c"> 145</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#a467cfe2b845cd9d27d04adb02b40fc0c">recentSum</a>;</div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#a476340863a9b2a72008584102d3a4128"> 146</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#a476340863a9b2a72008584102d3a4128">recentSumOfSquares</a>;</div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#a66cd69bf18994d8db6bf2cd9722421b8"> 147</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#a66cd69bf18994d8db6bf2cd9722421b8">longTermSum</a>;</div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#a2a69eacd35a992181cb00b5d5550790a"> 148</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#a2a69eacd35a992181cb00b5d5550790a">longTermCount</a>;</div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#a0c41861fa6d374aab108e18599dd3dc0"> 149</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#a0c41861fa6d374aab108e18599dd3dc0">longTermLowest</a>;</div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#af0cda19e8ddbaf5ca2cb7cc3c9b0e4f1"> 150</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#af0cda19e8ddbaf5ca2cb7cc3c9b0e4f1">longTermHighest</a>;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordtype">void</span> SetTimeToTrackValues(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> t);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> GetTimeToTrackValues(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> GetRecentSum(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> GetRecentSumOfSquares(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> GetLongTermSum(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> GetRecentAverage(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> GetRecentLowest(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> GetRecentHighest(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> GetRecentStandardDeviation(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> GetLongTermAverage(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> GetLongTermLowest(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> GetLongTermHighest(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> GetSumSinceTime(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> t) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> GetTimeRange(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="comment">// Merge two sets to output</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> MergeSets( <span class="keyword">const</span> <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a> *lhs, <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1">SHDataCategory</a> lhsDataCategory, <span class="keyword">const</span> <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a> *rhs, <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1">SHDataCategory</a> rhsDataCategory, <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a> *output );</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="comment">// Shrink or expand a sample set to the approximate number given</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="comment">// DC_DISCRETE will produce a histogram (sum) while DC_CONTINUOUS will produce an average</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordtype">void</span> ResizeSampleSet( <span class="keywordtype">int</span> approximateSamples, <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml" title="A queue implemented as an array with a read and write index.">DataStructures::Queue&lt;StatisticsHistory::TimeAndValue&gt;</a> &amp;blendedSamples, <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1">SHDataCategory</a> dataCategory, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> timeClipStart=0, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> timeClipEnd=0 );</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="comment">// Clear out all values</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordtype">void</span> Clear(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a>&amp; operator = ( <span class="keyword">const</span> <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a>&amp; input );</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordtype">void</span> CullExpiredValues(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> curTime);</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keyword">static</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> Interpolate(<a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value">TimeAndValue</a> t1, <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value">TimeAndValue</a> t2, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> time);</div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#a3284c461de8255e1cf1f763f6f4ac227"> 184</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> <a class="code" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml#a3284c461de8255e1cf1f763f6f4ac227">sortValue</a>;</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; };</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keyword">struct </span><a class="code" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml">TrackedObject</a>;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keyword">static</span> <span class="keywordtype">int</span> TrackedObjectComp( <span class="keyword">const</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> &amp;key, <a class="code" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml">TrackedObject</a>* <span class="keyword">const</span> &amp;data );</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div>
<div class="line"><a name="l00193"></a><span class="lineno"><a class="code" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml"> 193</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml">TrackedObject</a></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; {</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml">TrackedObject</a>();</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; ~<a class="code" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml">TrackedObject</a>();</div>
<div class="line"><a name="l00197"></a><span class="lineno"><a class="code" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml#a20a461327477dfe81829e12e57b17196"> 197</a></span>&#160; <a class="code" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml">TrackedObjectData</a> <a class="code" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml#a20a461327477dfe81829e12e57b17196">trackedObjectData</a>;</div>
<div class="line"><a name="l00198"></a><span class="lineno"><a class="code" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml#a72528d60b41477edf1e4374b606cb721"> 198</a></span>&#160; <a class="code" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt;SLNet::RakString, TimeAndValueQueue*, 32, SLNet::RakString::ToInteger&gt;</a> <a class="code" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml#a72528d60b41477edf1e4374b606cb721">dataQueues</a>;</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; };</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div>
<div class="line"><a name="l00201"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a8bf367490059dde2bd637a7a9ea0c1d4"> 201</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;uint64_t, TrackedObject*,TrackedObjectComp&gt;</a> <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a8bf367490059dde2bd637a7a9ea0c1d4">objects</a>;</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;</div>
<div class="line"><a name="l00203"></a><span class="lineno"><a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#ad1fd9a244cd1d810ff8ec8823ccbf0a6"> 203</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#ad1fd9a244cd1d810ff8ec8823ccbf0a6">timeToTrack</a>;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;};</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div>
<div class="line"><a name="l00208"></a><span class="lineno"><a class="code" href="../../df/db6/group___p_l_u_g_i_n_s___g_r_o_u_p.xhtml"> 208</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../df/db6/group___p_l_u_g_i_n_s___g_r_o_u_p.xhtml#dd/d3f/class_s_l_net_1_1_statistics_history_plugin" title="Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or ...">StatisticsHistoryPlugin</a> : <span class="keyword">public</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2">PluginInterface2</a></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;{</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="comment">// GetInstance() and DestroyInstance(instance*)</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#af3e49377f340027d211b2814949efc48">STATIC_FACTORY_DECLARATIONS</a>(<a class="code" href="../../df/db6/group___p_l_u_g_i_n_s___g_r_o_u_p.xhtml#dd/d3f/class_s_l_net_1_1_statistics_history_plugin" title="Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or ...">StatisticsHistoryPlugin</a>)</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div>
<div class="line"><a name="l00214"></a><span class="lineno"><a class="code" href="../../df/db6/group___p_l_u_g_i_n_s___g_r_o_u_p.xhtml#a48d60d13d6b3d98f9a858745a2e0f9fa"> 214</a></span>&#160; <a class="code" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml" title="Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or ...">StatisticsHistory</a> statistics;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="code" href="../../df/db6/group___p_l_u_g_i_n_s___g_r_o_u_p.xhtml#dd/d3f/class_s_l_net_1_1_statistics_history_plugin" title="Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or ...">StatisticsHistoryPlugin</a>();</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; virtual ~<a class="code" href="../../df/db6/group___p_l_u_g_i_n_s___g_r_o_u_p.xhtml#dd/d3f/class_s_l_net_1_1_statistics_history_plugin" title="Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or ...">StatisticsHistoryPlugin</a>();</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordtype">void</span> SetTrackConnections(<span class="keywordtype">bool</span> _addNewConnections, <span class="keywordtype">int</span> newConnectionsObjectType, <span class="keywordtype">bool</span> _removeLostConnections);</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; </div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;protected:</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; virtual <span class="keywordtype">void</span> Update(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; virtual <span class="keywordtype">void</span> OnClosedConnection(const <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> &amp;systemAddress, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> rakNetGUID, <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga4d3ac5ca8821fadad6d22d0267e06803">PI2_LostConnectionReason</a> lostConnectionReason );</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; virtual <span class="keywordtype">void</span> OnNewConnection(const <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> &amp;systemAddress, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> rakNetGUID, <span class="keywordtype">bool</span> isIncoming);</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="comment">// Too slow</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="comment">// virtual bool UsesReliabilityLayer(void) const {return true;}</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="comment">// virtual void OnDirectSocketSend(const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress);</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="comment">// virtual void OnDirectSocketReceive(const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress);</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;</div>
<div class="line"><a name="l00231"></a><span class="lineno"><a class="code" href="../../df/db6/group___p_l_u_g_i_n_s___g_r_o_u_p.xhtml#a4940877d58c34e13a4f520206d9b9d6d"> 231</a></span>&#160; <span class="keywordtype">bool</span> addNewConnections;</div>
<div class="line"><a name="l00232"></a><span class="lineno"><a class="code" href="../../df/db6/group___p_l_u_g_i_n_s___g_r_o_u_p.xhtml#a94bcd01315a888d5a072f876d740fd33"> 232</a></span>&#160; <span class="keywordtype">bool</span> removeLostConnections;</div>
<div class="line"><a name="l00233"></a><span class="lineno"><a class="code" href="../../df/db6/group___p_l_u_g_i_n_s___g_r_o_u_p.xhtml#aca3dd46c7d7d0d776742ba7842c7714b"> 233</a></span>&#160; <span class="keywordtype">int</span> newConnectionsObjectType;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;};</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="preprocessor">#endif // __STATISTICS_HISTORY_H</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="preprocessor">#endif // _RAKNET_SUPPORT_*</span></div>
</div><!-- fragment --></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_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d3/dbf/_statistics_history_8h.xhtml">StatisticsHistory.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>