1432 lines
80 KiB
HTML
1432 lines
80 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"/>
|
|
<title>SLikeNet: ThreadPool< InputType, OutputType > Struct Template 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
|
|
 <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 Page</span></a></li>
|
|
<li><a href="../../pages.xhtml"><span>Related 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 class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
|
|
<li><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="../../annotated.xhtml"><span>Class List</span></a></li>
|
|
<li><a href="../../classes.xhtml"><span>Class Index</span></a></li>
|
|
<li><a href="../../inherits.xhtml"><span>Class Hierarchy</span></a></li>
|
|
<li><a href="../../functions.xhtml"><span>Class 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('d1/dbc/struct_thread_pool.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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </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="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pro-methods">Protected Member Functions</a> |
|
|
<a href="#pro-attribs">Protected Attributes</a> |
|
|
<a href="../../dc/dd7/struct_thread_pool-members.xhtml">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">ThreadPool< InputType, OutputType > Struct Template Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p><code>#include <<a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">slikenet/ThreadPool.h</a>></code></p>
|
|
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
|
|
<img id="dynsection-0-trigger" src="../../closed.png" alt="+"/> Inheritance diagram for ThreadPool< InputType, OutputType >:</div>
|
|
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../da/d67/struct_thread_pool__inherit__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
</div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a785b0bc4ecfd1ad640fb9d5ec5423bc6"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a785b0bc4ecfd1ad640fb9d5ec5423bc6">ThreadPool</a> ()</td></tr>
|
|
<tr class="separator:a785b0bc4ecfd1ad640fb9d5ec5423bc6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a156388a0aae28b9b9202ad0fd55275c5"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a156388a0aae28b9b9202ad0fd55275c5">~ThreadPool</a> ()</td></tr>
|
|
<tr class="separator:a156388a0aae28b9b9202ad0fd55275c5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a09fde0ca678340723840fae1dcda51a2"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a09fde0ca678340723840fae1dcda51a2">StartThreads</a> (int numThreads, int stackSize, void *(*_perThreadInit)()=0, void(*_perThreadDeinit)(void *)=0)</td></tr>
|
|
<tr class="separator:a09fde0ca678340723840fae1dcda51a2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad2bca8ada8b0f6c30ee3c49b90a1d31e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#ad2bca8ada8b0f6c30ee3c49b90a1d31e">SetThreadDataInterface</a> (<a class="el" href="../../d3/dfe/class_thread_data_interface.xhtml">ThreadDataInterface</a> *tdi, void *context)</td></tr>
|
|
<tr class="separator:ad2bca8ada8b0f6c30ee3c49b90a1d31e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad93b8ba41d96c5f0f814ae0acabfcdfc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#ad93b8ba41d96c5f0f814ae0acabfcdfc">StopThreads</a> (void)</td></tr>
|
|
<tr class="memdesc:ad93b8ba41d96c5f0f814ae0acabfcdfc"><td class="mdescLeft"> </td><td class="mdescRight">Stops all threads. <a href="#ad93b8ba41d96c5f0f814ae0acabfcdfc"></a><br/></td></tr>
|
|
<tr class="separator:ad93b8ba41d96c5f0f814ae0acabfcdfc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5f64a8c4a4400106a2d7d03f7f9de132"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a5f64a8c4a4400106a2d7d03f7f9de132">AddInput</a> (OutputType(*workerThreadCallback)(InputType, bool *<a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a1e43a7b7ea9f1fd549450012cd19ea87">returnOutput</a>, void *<a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#adc398480893e637cf795fe46534ce7c4">perThreadData</a>), InputType <a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a1097e0bdb0a7bbac499269e69f867d16">inputData</a>)</td></tr>
|
|
<tr class="separator:a5f64a8c4a4400106a2d7d03f7f9de132"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a833f8cc619dbf051c525c2ecd7ce78a0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a833f8cc619dbf051c525c2ecd7ce78a0">AddOutput</a> (OutputType outputData)</td></tr>
|
|
<tr class="separator:a833f8cc619dbf051c525c2ecd7ce78a0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a925d6c332e4c48bc99dc5750dfd5fcdd"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a925d6c332e4c48bc99dc5750dfd5fcdd">HasOutput</a> (void)</td></tr>
|
|
<tr class="separator:a925d6c332e4c48bc99dc5750dfd5fcdd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5d517170f4b61211325ac5c9717e32e1"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a5d517170f4b61211325ac5c9717e32e1">HasOutputFast</a> (void)</td></tr>
|
|
<tr class="separator:a5d517170f4b61211325ac5c9717e32e1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aac1ae43b7b3581b5ae9803c7cae7b724"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#aac1ae43b7b3581b5ae9803c7cae7b724">HasInput</a> (void)</td></tr>
|
|
<tr class="separator:aac1ae43b7b3581b5ae9803c7cae7b724"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adde82517b452d9a74e91114a3783ce02"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#adde82517b452d9a74e91114a3783ce02">HasInputFast</a> (void)</td></tr>
|
|
<tr class="separator:adde82517b452d9a74e91114a3783ce02"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a568e3e2035977a38ad35aeee74ed7388"><td class="memItemLeft" align="right" valign="top">OutputType </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a568e3e2035977a38ad35aeee74ed7388">GetOutput</a> (void)</td></tr>
|
|
<tr class="separator:a568e3e2035977a38ad35aeee74ed7388"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af1e0cc5c3c8786fc49f60aef34160cbd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#af1e0cc5c3c8786fc49f60aef34160cbd">Clear</a> (void)</td></tr>
|
|
<tr class="memdesc:af1e0cc5c3c8786fc49f60aef34160cbd"><td class="mdescLeft"> </td><td class="mdescRight">Clears internal buffers. <a href="#af1e0cc5c3c8786fc49f60aef34160cbd"></a><br/></td></tr>
|
|
<tr class="separator:af1e0cc5c3c8786fc49f60aef34160cbd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a024e2da38f846fc76d1fb16cf13c1b90"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a024e2da38f846fc76d1fb16cf13c1b90">LockInput</a> (void)</td></tr>
|
|
<tr class="separator:a024e2da38f846fc76d1fb16cf13c1b90"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a710a554919e550501f9f06ab61e1d911"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a710a554919e550501f9f06ab61e1d911">UnlockInput</a> (void)</td></tr>
|
|
<tr class="memdesc:a710a554919e550501f9f06ab61e1d911"><td class="mdescLeft"> </td><td class="mdescRight">Unlock the input buffer after you are done with the functions InputSize, GetInputAtIndex, and RemoveInputAtIndex. <a href="#a710a554919e550501f9f06ab61e1d911"></a><br/></td></tr>
|
|
<tr class="separator:a710a554919e550501f9f06ab61e1d911"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0c7631f35a83c4f992b881174b6c8eff"><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a0c7631f35a83c4f992b881174b6c8eff">InputSize</a> (void)</td></tr>
|
|
<tr class="memdesc:a0c7631f35a83c4f992b881174b6c8eff"><td class="mdescLeft"> </td><td class="mdescRight">Length of the input queue. <a href="#a0c7631f35a83c4f992b881174b6c8eff"></a><br/></td></tr>
|
|
<tr class="separator:a0c7631f35a83c4f992b881174b6c8eff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a09194411e4f4d87804111459fad24522"><td class="memItemLeft" align="right" valign="top">InputType </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a09194411e4f4d87804111459fad24522">GetInputAtIndex</a> (unsigned index)</td></tr>
|
|
<tr class="memdesc:a09194411e4f4d87804111459fad24522"><td class="mdescLeft"> </td><td class="mdescRight">Get the input at a specified index. <a href="#a09194411e4f4d87804111459fad24522"></a><br/></td></tr>
|
|
<tr class="separator:a09194411e4f4d87804111459fad24522"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7e41bfe6660b1a55cbf14b99b77defac"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a7e41bfe6660b1a55cbf14b99b77defac">RemoveInputAtIndex</a> (unsigned index)</td></tr>
|
|
<tr class="memdesc:a7e41bfe6660b1a55cbf14b99b77defac"><td class="mdescLeft"> </td><td class="mdescRight">Remove input from a specific index. This does NOT do memory deallocation - it only removes the item from the queue. <a href="#a7e41bfe6660b1a55cbf14b99b77defac"></a><br/></td></tr>
|
|
<tr class="separator:a7e41bfe6660b1a55cbf14b99b77defac"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a384ba5c62d60ac2e12e3f8aeea30d8bc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a384ba5c62d60ac2e12e3f8aeea30d8bc">LockOutput</a> (void)</td></tr>
|
|
<tr class="separator:a384ba5c62d60ac2e12e3f8aeea30d8bc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af6e5208df0686a4a76ecb3bbcc6ffcb2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#af6e5208df0686a4a76ecb3bbcc6ffcb2">UnlockOutput</a> (void)</td></tr>
|
|
<tr class="memdesc:af6e5208df0686a4a76ecb3bbcc6ffcb2"><td class="mdescLeft"> </td><td class="mdescRight">Unlock the output buffer after you are done with the functions OutputSize, GetOutputAtIndex, and RemoveOutputAtIndex. <a href="#af6e5208df0686a4a76ecb3bbcc6ffcb2"></a><br/></td></tr>
|
|
<tr class="separator:af6e5208df0686a4a76ecb3bbcc6ffcb2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac2ebae170e7dbdbad6034ba69271f86f"><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#ac2ebae170e7dbdbad6034ba69271f86f">OutputSize</a> (void)</td></tr>
|
|
<tr class="memdesc:ac2ebae170e7dbdbad6034ba69271f86f"><td class="mdescLeft"> </td><td class="mdescRight">Length of the output queue. <a href="#ac2ebae170e7dbdbad6034ba69271f86f"></a><br/></td></tr>
|
|
<tr class="separator:ac2ebae170e7dbdbad6034ba69271f86f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ade45848613e8230e5324edabe40fcde9"><td class="memItemLeft" align="right" valign="top">OutputType </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#ade45848613e8230e5324edabe40fcde9">GetOutputAtIndex</a> (unsigned index)</td></tr>
|
|
<tr class="memdesc:ade45848613e8230e5324edabe40fcde9"><td class="mdescLeft"> </td><td class="mdescRight">Get the output at a specified index. <a href="#ade45848613e8230e5324edabe40fcde9"></a><br/></td></tr>
|
|
<tr class="separator:ade45848613e8230e5324edabe40fcde9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afb4958a8df475d6060bede0fa4af7faa"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#afb4958a8df475d6060bede0fa4af7faa">RemoveOutputAtIndex</a> (unsigned index)</td></tr>
|
|
<tr class="memdesc:afb4958a8df475d6060bede0fa4af7faa"><td class="mdescLeft"> </td><td class="mdescRight">Remove output from a specific index. This does NOT do memory deallocation - it only removes the item from the queue. <a href="#afb4958a8df475d6060bede0fa4af7faa"></a><br/></td></tr>
|
|
<tr class="separator:afb4958a8df475d6060bede0fa4af7faa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a568d636d8a27645c6641d3b4cc7308f6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a568d636d8a27645c6641d3b4cc7308f6">ClearInput</a> (void)</td></tr>
|
|
<tr class="memdesc:a568d636d8a27645c6641d3b4cc7308f6"><td class="mdescLeft"> </td><td class="mdescRight">Removes all items from the input queue. <a href="#a568d636d8a27645c6641d3b4cc7308f6"></a><br/></td></tr>
|
|
<tr class="separator:a568d636d8a27645c6641d3b4cc7308f6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8d8d2d173ca5ddb99614ed5b9df1fb85"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a8d8d2d173ca5ddb99614ed5b9df1fb85">ClearOutput</a> (void)</td></tr>
|
|
<tr class="memdesc:a8d8d2d173ca5ddb99614ed5b9df1fb85"><td class="mdescLeft"> </td><td class="mdescRight">Removes all items from the output queue. <a href="#a8d8d2d173ca5ddb99614ed5b9df1fb85"></a><br/></td></tr>
|
|
<tr class="separator:a8d8d2d173ca5ddb99614ed5b9df1fb85"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a90b37c13ba8b9f67db4bd99ee4a5d811"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a90b37c13ba8b9f67db4bd99ee4a5d811">IsWorking</a> (void)</td></tr>
|
|
<tr class="memdesc:a90b37c13ba8b9f67db4bd99ee4a5d811"><td class="mdescLeft"> </td><td class="mdescRight">Are any of the threads working, or is input or output available? <a href="#a90b37c13ba8b9f67db4bd99ee4a5d811"></a><br/></td></tr>
|
|
<tr class="separator:a90b37c13ba8b9f67db4bd99ee4a5d811"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aad431a8d3f28af0ae5249c7e3b819307"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#aad431a8d3f28af0ae5249c7e3b819307">NumThreadsWorking</a> (void)</td></tr>
|
|
<tr class="memdesc:aad431a8d3f28af0ae5249c7e3b819307"><td class="mdescLeft"> </td><td class="mdescRight">The number of currently active threads. <a href="#aad431a8d3f28af0ae5249c7e3b819307"></a><br/></td></tr>
|
|
<tr class="separator:aad431a8d3f28af0ae5249c7e3b819307"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a531920221fd17dce38b5da74b56f2eff"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a531920221fd17dce38b5da74b56f2eff">WasStarted</a> (void)</td></tr>
|
|
<tr class="memdesc:a531920221fd17dce38b5da74b56f2eff"><td class="mdescLeft"> </td><td class="mdescRight">Did we call Start? <a href="#a531920221fd17dce38b5da74b56f2eff"></a><br/></td></tr>
|
|
<tr class="separator:a531920221fd17dce38b5da74b56f2eff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a870e8e68979a7b0f1cc5b0fda7044a49"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a870e8e68979a7b0f1cc5b0fda7044a49">Pause</a> (void)</td></tr>
|
|
<tr class="separator:a870e8e68979a7b0f1cc5b0fda7044a49"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a16261d79beca0692cc4aa97ec204fd6d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a16261d79beca0692cc4aa97ec204fd6d">Resume</a> (void)</td></tr>
|
|
<tr class="separator:a16261d79beca0692cc4aa97ec204fd6d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
|
|
Protected Member Functions</h2></td></tr>
|
|
<tr class="memitem:a6f77f4d6ec9d6f207f16fdb79b54fe2a"><td class="memTemplParams" colspan="2">template<class ThreadInputType , class ThreadOutputType > </td></tr>
|
|
<tr class="memitem:a6f77f4d6ec9d6f207f16fdb79b54fe2a"><td class="memTemplItemLeft" align="right" valign="top">friend </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a6f77f4d6ec9d6f207f16fdb79b54fe2a">RAK_THREAD_DECLARATION</a> (WorkerThread)</td></tr>
|
|
<tr class="separator:a6f77f4d6ec9d6f207f16fdb79b54fe2a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
|
|
Protected Attributes</h2></td></tr>
|
|
<tr class="memitem:a207a7b9f54818a3168d81b013c765d56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SLNet::SimpleMutex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a207a7b9f54818a3168d81b013c765d56">inputQueueMutex</a></td></tr>
|
|
<tr class="separator:a207a7b9f54818a3168d81b013c765d56"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a89540985de3cb90dccccbd837ef80385"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SLNet::SimpleMutex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a89540985de3cb90dccccbd837ef80385">outputQueueMutex</a></td></tr>
|
|
<tr class="separator:a89540985de3cb90dccccbd837ef80385"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aed1cb4abb580c8688236782c2d6bff49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SLNet::SimpleMutex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#aed1cb4abb580c8688236782c2d6bff49">workingThreadCountMutex</a></td></tr>
|
|
<tr class="separator:aed1cb4abb580c8688236782c2d6bff49"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4de670b464cb1afd303812571819aa0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SLNet::SimpleMutex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a4de670b464cb1afd303812571819aa0e">runThreadsMutex</a></td></tr>
|
|
<tr class="separator:a4de670b464cb1afd303812571819aa0e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aacf9c53af2e2bae9560f1520ad63a1e9"><td class="memItemLeft" align="right" valign="top">void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#aacf9c53af2e2bae9560f1520ad63a1e9">perThreadDataFactory</a> )()</td></tr>
|
|
<tr class="separator:aacf9c53af2e2bae9560f1520ad63a1e9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac2f69d2ba866370e2899980a06d29df4"><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#ac2f69d2ba866370e2899980a06d29df4">perThreadDataDestructor</a> )(void *)</td></tr>
|
|
<tr class="separator:ac2f69d2ba866370e2899980a06d29df4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aba1210d4a8738dbb73fd4aba224a5437"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue</a><br class="typebreak"/>
|
|
< OutputType(*)(InputType, <br class="typebreak"/>
|
|
bool *, void *)> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#aba1210d4a8738dbb73fd4aba224a5437">inputFunctionQueue</a></td></tr>
|
|
<tr class="separator:aba1210d4a8738dbb73fd4aba224a5437"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac808a3f10661465e2d83a4e7579dc880"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue</a>< InputType > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#ac808a3f10661465e2d83a4e7579dc880">inputQueue</a></td></tr>
|
|
<tr class="separator:ac808a3f10661465e2d83a4e7579dc880"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6b76ae04819bd8b15bae573217b15735"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue</a>< OutputType > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a6b76ae04819bd8b15bae573217b15735">outputQueue</a></td></tr>
|
|
<tr class="separator:a6b76ae04819bd8b15bae573217b15735"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af5e51a5c831a7dc16b0dad34203790b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/dfe/class_thread_data_interface.xhtml">ThreadDataInterface</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#af5e51a5c831a7dc16b0dad34203790b0">threadDataInterface</a></td></tr>
|
|
<tr class="separator:af5e51a5c831a7dc16b0dad34203790b0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5e346620f540fa4791d9916e51513b1d"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a5e346620f540fa4791d9916e51513b1d">tdiContext</a></td></tr>
|
|
<tr class="separator:a5e346620f540fa4791d9916e51513b1d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6d53166bc98ac94b11d2f9346f8d61b2"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a6d53166bc98ac94b11d2f9346f8d61b2">runThreads</a></td></tr>
|
|
<tr class="separator:a6d53166bc98ac94b11d2f9346f8d61b2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afa44d9d22aaa0b45008a146d3d99dd22"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#afa44d9d22aaa0b45008a146d3d99dd22">numThreadsRunning</a></td></tr>
|
|
<tr class="separator:afa44d9d22aaa0b45008a146d3d99dd22"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a31406cbf875ff36d9d0c5ba6207382c3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a31406cbf875ff36d9d0c5ba6207382c3">numThreadsWorking</a></td></tr>
|
|
<tr class="separator:a31406cbf875ff36d9d0c5ba6207382c3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6b2a6ffe4c4a62c3da27b6f1c99377e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SLNet::SimpleMutex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a6b2a6ffe4c4a62c3da27b6f1c99377e5">numThreadsRunningMutex</a></td></tr>
|
|
<tr class="separator:a6b2a6ffe4c4a62c3da27b6f1c99377e5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a04ce603e15a77377eec89c468f35e8a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../df/d28/class_s_l_net_1_1_signaled_event.xhtml">SLNet::SignaledEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a04ce603e15a77377eec89c468f35e8a1">quitAndIncomingDataEvents</a></td></tr>
|
|
<tr class="separator:a04ce603e15a77377eec89c468f35e8a1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><h3>template<class InputType, class OutputType><br/>
|
|
struct ThreadPool< InputType, OutputType ></h3>
|
|
|
|
<p>A simple class to create worker threads that processes a queue of functions with data. This class does not allocate or deallocate memory. It is up to the user to handle memory management. InputType and OutputType are stored directly in a queue. For large structures, if you plan to delete from the middle of the queue, you might wish to store pointers rather than the structures themselves so the array can shift efficiently. </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00040">40</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a class="anchor" id="a785b0bc4ecfd1ad640fb9d5ec5423bc6"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::<a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00307">307</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>References <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00237">numThreadsRunning</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a156388a0aae28b9b9202ad0fd55275c5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::~<a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00317">317</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a class="anchor" id="a5f64a8c4a4400106a2d7d03f7f9de132"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::AddInput </td>
|
|
<td>(</td>
|
|
<td class="paramtype">OutputType(*)(InputType, bool *<a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a1e43a7b7ea9f1fd549450012cd19ea87">returnOutput</a>, void *<a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#adc398480893e637cf795fe46534ce7c4">perThreadData</a>) </td>
|
|
<td class="paramname"><em>workerThreadCallback</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">InputType </td>
|
|
<td class="paramname"><em>inputData</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Adds a function to a queue with data to pass to that function. This function will be called from the thread Memory management is your responsibility! This class does not allocate or deallocate memory. The best way to deallocate <em>inputData</em> is in userCallback. If you call EndThreads such that callbacks were not called, you can iterate through the inputQueue and deallocate all pending input data there The best way to deallocate output is as it is returned to you from GetOutput. Similarly, if you end the threads such that not all output was returned, you can iterate through outputQueue and deallocate it there. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">workerThreadCallback</td><td>The function to call from the thread </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">inputData</td><td>The parameter to pass to <em>userCallback</em> </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00422">422</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a833f8cc619dbf051c525c2ecd7ce78a0"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::AddOutput </td>
|
|
<td>(</td>
|
|
<td class="paramtype">OutputType </td>
|
|
<td class="paramname"><em>outputData</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Adds to the output queue Use it if you want to inject output into the same queue that the system uses. Normally you would not use this. Consider it a convenience function. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">outputData</td><td>The output to inject </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00432">432</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af1e0cc5c3c8786fc49f60aef34160cbd"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::Clear </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Clears internal buffers. </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00477">477</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a568d636d8a27645c6641d3b4cc7308f6"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::ClearInput </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Removes all items from the input queue. </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00551">551</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a8d8d2d173ca5ddb99614ed5b9df1fb85"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::ClearOutput </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Removes all items from the output queue. </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00558">558</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a09194411e4f4d87804111459fad24522"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">InputType <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::GetInputAtIndex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">unsigned </td>
|
|
<td class="paramname"><em>index</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Get the input at a specified index. </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00515">515</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a568e3e2035977a38ad35aeee74ed7388"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">OutputType <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::GetOutput </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Gets the output of a call to <em>userCallback</em> HasOutput must return true before you call this function. Otherwise it will assert. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>The output of <em>userCallback</em>. If you have different output signatures, it is up to you to encode the data to indicate this </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00467">467</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ade45848613e8230e5324edabe40fcde9"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">OutputType <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::GetOutputAtIndex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">unsigned </td>
|
|
<td class="paramname"><em>index</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Get the output at a specified index. </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00541">541</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aac1ae43b7b3581b5ae9803c7cae7b724"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::HasInput </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Returns true if input from GetInput is waiting. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>true if input is waiting, false otherwise </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00458">458</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="adde82517b452d9a74e91114a3783ce02"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::HasInputFast </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Inaccurate but fast version of HasInput. If this returns true, you should still check HasInput for the real value. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>true if input is probably waiting, false otherwise </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00453">453</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a925d6c332e4c48bc99dc5750dfd5fcdd"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::HasOutput </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Returns true if output from GetOutput is waiting. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>true if output is waiting, false otherwise </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00444">444</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a5d517170f4b61211325ac5c9717e32e1"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::HasOutputFast </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Inaccurate but fast version of HasOutput. If this returns true, you should still check HasOutput for the real value. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>true if output is probably waiting, false otherwise </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00439">439</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a0c7631f35a83c4f992b881174b6c8eff"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">unsigned <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::InputSize </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Length of the input queue. </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00510">510</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a90b37c13ba8b9f67db4bd99ee4a5d811"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::IsWorking </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Are any of the threads working, or is input or output available? </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00563">563</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a024e2da38f846fc76d1fb16cf13c1b90"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::LockInput </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Lock the input buffer before calling the functions InputSize, InputAtIndex, and RemoveInputAtIndex It is only necessary to lock the input or output while the threads are running </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00500">500</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a384ba5c62d60ac2e12e3f8aeea30d8bc"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::LockOutput </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Lock the output buffer before calling the functions OutputSize, OutputAtIndex, and RemoveOutputAtIndex It is only necessary to lock the input or output while the threads are running </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00526">526</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aad431a8d3f28af0ae5249c7e3b819307"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::NumThreadsWorking </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>The number of currently active threads. </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00591">591</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ac2ebae170e7dbdbad6034ba69271f86f"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">unsigned <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::OutputSize </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Length of the output queue. </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00536">536</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a870e8e68979a7b0f1cc5b0fda7044a49"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::Pause </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00606">606</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>References <a class="el" href="../../df/d30/_rak_sleep_8cpp_source.xhtml#l00041">RakSleep()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a6f77f4d6ec9d6f207f16fdb79b54fe2a"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<div class="memtemplate">
|
|
template<class ThreadInputType , class ThreadOutputType > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::RAK_THREAD_DECLARATION </td>
|
|
<td>(</td>
|
|
<td class="paramtype">WorkerThread </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a7e41bfe6660b1a55cbf14b99b77defac"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::RemoveInputAtIndex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">unsigned </td>
|
|
<td class="paramname"><em>index</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Remove input from a specific index. This does NOT do memory deallocation - it only removes the item from the queue. </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00520">520</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="afb4958a8df475d6060bede0fa4af7faa"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::RemoveOutputAtIndex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">unsigned </td>
|
|
<td class="paramname"><em>index</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Remove output from a specific index. This does NOT do memory deallocation - it only removes the item from the queue. </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00546">546</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a16261d79beca0692cc4aa97ec204fd6d"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::Resume </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00619">619</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ad2bca8ada8b0f6c30ee3c49b90a1d31e"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::SetThreadDataInterface </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="../../d3/dfe/class_thread_data_interface.xhtml">ThreadDataInterface</a> * </td>
|
|
<td class="paramname"><em>tdi</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"><em>context</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00382">382</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a09fde0ca678340723840fae1dcda51a2"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::StartThreads </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>numThreads</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>stackSize</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void *(*)() </td>
|
|
<td class="paramname"><em>_perThreadInit</em> = <code>0</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void(*)(void *) </td>
|
|
<td class="paramname"><em>_perThreadDeinit</em> = <code>0</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Start the specified number of threads. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">numThreads</td><td>The number of threads to start </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">stackSize</td><td>0 for default (except on consoles). </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">_perThreadInit</td><td>User callback to return data stored per thread. Pass 0 if not needed. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">_perThreadDeinit</td><td>User callback to destroy data stored per thread, created by _perThreadInit. Pass 0 if not needed. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True on success, false on failure. </dd></dl>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00323">323</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>References <a class="el" href="../../df/dea/_rak_thread_8cpp_source.xhtml#l00049">SLNet::RakThread::Create()</a>, <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00237">numThreadsRunning</a>, and <a class="el" href="../../df/d30/_rak_sleep_8cpp_source.xhtml#l00041">RakSleep()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ad93b8ba41d96c5f0f814ae0acabfcdfc"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::StopThreads </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Stops all threads. </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00388">388</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>References <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00237">numThreadsRunning</a>, and <a class="el" href="../../df/d30/_rak_sleep_8cpp_source.xhtml#l00041">RakSleep()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a710a554919e550501f9f06ab61e1d911"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::UnlockInput </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Unlock the input buffer after you are done with the functions InputSize, GetInputAtIndex, and RemoveInputAtIndex. </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00505">505</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af6e5208df0686a4a76ecb3bbcc6ffcb2"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::UnlockOutput </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Unlock the output buffer after you are done with the functions OutputSize, GetOutputAtIndex, and RemoveOutputAtIndex. </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00531">531</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a531920221fd17dce38b5da74b56f2eff"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType , class OutputType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::WasStarted </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Did we call Start? </p>
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00597">597</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
<a class="anchor" id="aba1210d4a8738dbb73fd4aba224a5437"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue</a><OutputType (*)(InputType, bool *, void*)> <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::inputFunctionQueue</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00161">161</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>Referenced by <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00240">for()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ac808a3f10661465e2d83a4e7579dc880"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue</a><InputType> <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::inputQueue</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00162">162</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>Referenced by <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00240">for()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a207a7b9f54818a3168d81b013c765d56"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SLNet::SimpleMutex</a> <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::inputQueueMutex</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00154">154</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>Referenced by <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00240">for()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="afa44d9d22aaa0b45008a146d3d99dd22"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::numThreadsRunning</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00183">183</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a6b2a6ffe4c4a62c3da27b6f1c99377e5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SLNet::SimpleMutex</a> <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::numThreadsRunningMutex</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00187">187</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a31406cbf875ff36d9d0c5ba6207382c3"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::numThreadsWorking</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00185">185</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>Referenced by <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00240">for()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a6b76ae04819bd8b15bae573217b15735"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue</a><OutputType> <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::outputQueue</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00163">163</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>Referenced by <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00240">for()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a89540985de3cb90dccccbd837ef80385"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SLNet::SimpleMutex</a> <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::outputQueueMutex</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00154">154</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>Referenced by <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00240">for()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ac2f69d2ba866370e2899980a06d29df4"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void(* <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::perThreadDataDestructor)(void *)</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00157">157</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aacf9c53af2e2bae9560f1520ad63a1e9"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void*(* <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::perThreadDataFactory)()</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00156">156</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a04ce603e15a77377eec89c468f35e8a1"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../df/d28/class_s_l_net_1_1_signaled_event.xhtml">SLNet::SignaledEvent</a> <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::quitAndIncomingDataEvents</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00189">189</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>Referenced by <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00240">for()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a6d53166bc98ac94b11d2f9346f8d61b2"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::runThreads</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00181">181</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>Referenced by <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00240">for()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a4de670b464cb1afd303812571819aa0e"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SLNet::SimpleMutex</a> <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::runThreadsMutex</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00154">154</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>Referenced by <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00240">for()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a5e346620f540fa4791d9916e51513b1d"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void* <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::tdiContext</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00166">166</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af5e51a5c831a7dc16b0dad34203790b0"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d3/dfe/class_thread_data_interface.xhtml">ThreadDataInterface</a>* <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::threadDataInterface</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00165">165</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aed1cb4abb580c8688236782c2d6bff49"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class InputType, class OutputType> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SLNet::SimpleMutex</a> <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>< InputType, OutputType >::workingThreadCountMutex</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00154">154</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
|
|
|
|
<p>Referenced by <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00240">for()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this struct was generated from the following file:<ul>
|
|
<li>Source/include/slikenet/<a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a></li>
|
|
</ul>
|
|
</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="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a></li>
|
|
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 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>
|