You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

269 lines
28 KiB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.4"/>
  7. <title>tbb::flow::interface7::limiter_node&lt; T &gt; Class Template Reference</title>
  8. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  9. <script type="text/javascript" src="jquery.js"></script>
  10. <script type="text/javascript" src="dynsections.js"></script>
  11. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  12. </head>
  13. <body>
  14. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  15. <!-- end header part -->
  16. <!-- Generated by Doxygen 1.8.4 -->
  17. <div id="navrow1" class="tabs">
  18. <ul class="tablist">
  19. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  20. <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
  21. <li><a href="modules.html"><span>Modules</span></a></li>
  22. <li><a href="namespaces.html"><span>Namespaces</span></a></li>
  23. <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
  24. <li><a href="files.html"><span>Files</span></a></li>
  25. </ul>
  26. </div>
  27. <div id="navrow2" class="tabs2">
  28. <ul class="tablist">
  29. <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
  30. <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
  31. <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
  32. </ul>
  33. </div>
  34. <div id="nav-path" class="navpath">
  35. <ul>
  36. <li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00072.html">limiter_node</a></li> </ul>
  37. </div>
  38. </div><!-- top -->
  39. <div class="header">
  40. <div class="summary">
  41. <a href="#pub-types">Public Types</a> &#124;
  42. <a href="#pub-methods">Public Member Functions</a> &#124;
  43. <a href="#pub-attribs">Public Attributes</a> &#124;
  44. <a href="#pro-methods">Protected Member Functions</a> &#124;
  45. <a href="#friends">Friends</a> &#124;
  46. <a href="a00310.html">List of all members</a> </div>
  47. <div class="headertitle">
  48. <div class="title">tbb::flow::interface7::limiter_node&lt; T &gt; Class Template Reference</div> </div>
  49. </div><!--header-->
  50. <div class="contents">
  51. <p>Forwards messages only if the threshold has not been reached.
  52. <a href="a00072.html#details">More...</a></p>
  53. <p><code>#include &lt;flow_graph.h&gt;</code></p>
  54. <div class="dynheader">
  55. Inheritance diagram for tbb::flow::interface7::limiter_node&lt; T &gt;:</div>
  56. <div class="dyncontent">
  57. <div class="center">
  58. <img src="a00072.png" usemap="#tbb::flow::interface7::limiter_node&lt; T &gt;_map" alt=""/>
  59. <map id="tbb::flow::interface7::limiter_node&lt; T &gt;_map" name="tbb::flow::interface7::limiter_node&lt; T &gt;_map">
  60. <area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,226,80"/>
  61. <area href="a00106.html" title="Pure virtual template class that defines a receiver of messages of type T. " alt="tbb::flow::interface7::receiver&lt; T &gt;" shape="rect" coords="236,56,462,80"/>
  62. <area href="a00124.html" title="Pure virtual template class that defines a sender of messages of type T. " alt="tbb::flow::interface7::sender&lt; T &gt;" shape="rect" coords="472,56,698,80"/>
  63. </map>
  64. </div></div>
  65. <table class="memberdecls">
  66. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
  67. Public Types</h2></td></tr>
  68. <tr class="memitem:a69eff22a9947c69979454b3e3e02de4a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69eff22a9947c69979454b3e3e02de4a"></a>
  69. typedef T&#160;</td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
  70. <tr class="separator:a69eff22a9947c69979454b3e3e02de4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  71. <tr class="memitem:a99fc5a0478d535dbde40afbb9104b235"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99fc5a0478d535dbde40afbb9104b235"></a>
  72. typedef T&#160;</td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
  73. <tr class="separator:a99fc5a0478d535dbde40afbb9104b235"><td class="memSeparator" colspan="2">&#160;</td></tr>
  74. <tr class="memitem:ad8a2c4701d026ddbdda2bb2bc7b3e0fd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8a2c4701d026ddbdda2bb2bc7b3e0fd"></a>
  75. typedef <a class="el" href="a00124.html">sender</a>&lt; <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
  76. <tr class="separator:ad8a2c4701d026ddbdda2bb2bc7b3e0fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  77. <tr class="memitem:a7ec4d2a468d636c36774840a2f18bc4d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ec4d2a468d636c36774840a2f18bc4d"></a>
  78. typedef <a class="el" href="a00106.html">receiver</a>&lt; <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
  79. <tr class="separator:a7ec4d2a468d636c36774840a2f18bc4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  80. <tr class="inherit_header pub_types_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00106')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver&lt; T &gt;</a></td></tr>
  81. <tr class="memitem:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16eccc851b858604344bb8f1bb9eedc8"></a>
  82. typedef T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a></td></tr>
  83. <tr class="memdesc:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="mdescLeft">&#160;</td><td class="mdescRight">The input type of this receiver. <br/></td></tr>
  84. <tr class="separator:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
  85. <tr class="memitem:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbadf5511bd568d283040cd88bd4e81e"></a>
  86. typedef <a class="el" href="a00124.html">sender</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a></td></tr>
  87. <tr class="memdesc:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="mdescLeft">&#160;</td><td class="mdescRight">The predecessor type for this node. <br/></td></tr>
  88. <tr class="separator:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
  89. <tr class="inherit_header pub_types_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00124')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender&lt; T &gt;</a></td></tr>
  90. <tr class="memitem:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add86fddf72758d8e5b05b07650c6eeed"></a>
  91. typedef T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a></td></tr>
  92. <tr class="memdesc:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="mdescLeft">&#160;</td><td class="mdescRight">The output type of this sender. <br/></td></tr>
  93. <tr class="separator:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memSeparator" colspan="2">&#160;</td></tr>
  94. <tr class="memitem:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7779627063a29d4d2a1fc905a5cae8db"></a>
  95. typedef <a class="el" href="a00106.html">receiver</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a></td></tr>
  96. <tr class="memdesc:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="mdescLeft">&#160;</td><td class="mdescRight">The successor type for this node. <br/></td></tr>
  97. <tr class="separator:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memSeparator" colspan="2">&#160;</td></tr>
  98. </table><table class="memberdecls">
  99. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  100. Public Member Functions</h2></td></tr>
  101. <tr class="memitem:af1c8daee8d1fd31e63f78dbb8d0ec87d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1c8daee8d1fd31e63f78dbb8d0ec87d"></a>
  102. &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#af1c8daee8d1fd31e63f78dbb8d0ec87d">limiter_node</a> (<a class="el" href="a00061.html">graph</a> &amp;g, size_t threshold, int num_decrement_predecessors=0)</td></tr>
  103. <tr class="memdesc:af1c8daee8d1fd31e63f78dbb8d0ec87d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br/></td></tr>
  104. <tr class="separator:af1c8daee8d1fd31e63f78dbb8d0ec87d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  105. <tr class="memitem:a99b359e7a83de8dc72dcad01798acab8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99b359e7a83de8dc72dcad01798acab8"></a>
  106. &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#a99b359e7a83de8dc72dcad01798acab8">limiter_node</a> (const <a class="el" href="a00072.html">limiter_node</a> &amp;src)</td></tr>
  107. <tr class="memdesc:a99b359e7a83de8dc72dcad01798acab8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br/></td></tr>
  108. <tr class="separator:a99b359e7a83de8dc72dcad01798acab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  109. <tr class="memitem:a7b4e663007df5428bdb376a887a6c580"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b4e663007df5428bdb376a887a6c580"></a>
  110. void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
  111. <tr class="separator:a7b4e663007df5428bdb376a887a6c580"><td class="memSeparator" colspan="2">&#160;</td></tr>
  112. <tr class="memitem:ad2cfd954eb06732f7bae8f2c8fe28735"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2cfd954eb06732f7bae8f2c8fe28735"></a>
  113. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#ad2cfd954eb06732f7bae8f2c8fe28735">register_successor</a> (<a class="el" href="a00106.html">receiver</a>&lt; <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> &gt; &amp;r)</td></tr>
  114. <tr class="memdesc:ad2cfd954eb06732f7bae8f2c8fe28735"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace the current successor with this new successor. <br/></td></tr>
  115. <tr class="separator:ad2cfd954eb06732f7bae8f2c8fe28735"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:ac7b092dcc2808abf02816d4ac9c86e66"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#ac7b092dcc2808abf02816d4ac9c86e66">remove_successor</a> (<a class="el" href="a00106.html">receiver</a>&lt; <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> &gt; &amp;r)</td></tr>
  117. <tr class="memdesc:ac7b092dcc2808abf02816d4ac9c86e66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a successor from this node. <a href="#ac7b092dcc2808abf02816d4ac9c86e66">More...</a><br/></td></tr>
  118. <tr class="separator:ac7b092dcc2808abf02816d4ac9c86e66"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. <tr class="memitem:aca5ef5cec3b26227d71686d99ee04f7e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca5ef5cec3b26227d71686d99ee04f7e"></a>
  120. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#aca5ef5cec3b26227d71686d99ee04f7e">register_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &amp;src)</td></tr>
  121. <tr class="memdesc:aca5ef5cec3b26227d71686d99ee04f7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds src to the list of cached predecessors. <br/></td></tr>
  122. <tr class="separator:aca5ef5cec3b26227d71686d99ee04f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  123. <tr class="memitem:a8aca7b4bd4ee13faf713021eb0d86735"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8aca7b4bd4ee13faf713021eb0d86735"></a>
  124. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#a8aca7b4bd4ee13faf713021eb0d86735">remove_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &amp;src)</td></tr>
  125. <tr class="memdesc:a8aca7b4bd4ee13faf713021eb0d86735"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes src from the list of cached predecessors. <br/></td></tr>
  126. <tr class="separator:a8aca7b4bd4ee13faf713021eb0d86735"><td class="memSeparator" colspan="2">&#160;</td></tr>
  127. <tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
  128. <tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
  129. &#160;</td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &amp;g)</td></tr>
  130. <tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="inherit_header pub_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00106')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver&lt; T &gt;</a></td></tr>
  132. <tr class="memitem:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a733889a9053478ef2fb2528e2205bf07"></a>
  133. virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a> ()</td></tr>
  134. <tr class="memdesc:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
  135. <tr class="separator:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
  136. <tr class="memitem:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5067bb4f4b71ffa786c1b33cb9aa6a"></a>
  137. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a> (const T &amp;t)</td></tr>
  138. <tr class="memdesc:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put an item to the receiver. <br/></td></tr>
  139. <tr class="separator:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. <tr class="inherit_header pub_methods_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00124')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender&lt; T &gt;</a></td></tr>
  141. <tr class="memitem:ad50b8ac93e79cbdcd2bba11d35432f2c inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad50b8ac93e79cbdcd2bba11d35432f2c"></a>
  142. virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#ad50b8ac93e79cbdcd2bba11d35432f2c">try_get</a> (T &amp;)</td></tr>
  143. <tr class="memdesc:ad50b8ac93e79cbdcd2bba11d35432f2c inherit pub_methods_a00124"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request an item from the sender. <br/></td></tr>
  144. <tr class="separator:ad50b8ac93e79cbdcd2bba11d35432f2c inherit pub_methods_a00124"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. <tr class="memitem:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1b9dcf77ab558530ff93a706b4c4b5d"></a>
  146. virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">try_reserve</a> (T &amp;)</td></tr>
  147. <tr class="memdesc:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserves an item in the sender. <br/></td></tr>
  148. <tr class="separator:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="memSeparator" colspan="2">&#160;</td></tr>
  149. <tr class="memitem:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97ac316ddfb6bd7c7f2f56e3e819a30a"></a>
  150. virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">try_release</a> ()</td></tr>
  151. <tr class="memdesc:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the reserved item. <br/></td></tr>
  152. <tr class="separator:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="memSeparator" colspan="2">&#160;</td></tr>
  153. <tr class="memitem:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad404d5218c7ae2556261ffa880cdf804"></a>
  154. virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">try_consume</a> ()</td></tr>
  155. <tr class="memdesc:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="mdescLeft">&#160;</td><td class="mdescRight">Consumes the reserved item. <br/></td></tr>
  156. <tr class="separator:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. </table><table class="memberdecls">
  158. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
  159. Public Attributes</h2></td></tr>
  160. <tr class="memitem:ac313b6586bf183a33c3196037964547d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac313b6586bf183a33c3196037964547d"></a>
  161. internal::decrementer<br class="typebreak"/>
  162. &lt; <a class="el" href="a00072.html">limiter_node</a>&lt; T &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#ac313b6586bf183a33c3196037964547d">decrement</a></td></tr>
  163. <tr class="memdesc:ac313b6586bf183a33c3196037964547d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The internal <a class="el" href="a00106.html">receiver&lt; continue_msg &gt;</a> that decrements the count. <br/></td></tr>
  164. <tr class="separator:ac313b6586bf183a33c3196037964547d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  165. </table><table class="memberdecls">
  166. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
  167. Protected Member Functions</h2></td></tr>
  168. <tr class="memitem:a0551cf104b35669b5f5153c1d03d5d2d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0551cf104b35669b5f5153c1d03d5d2d"></a>
  169. task *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#a0551cf104b35669b5f5153c1d03d5d2d">try_put_task</a> (const T &amp;t)</td></tr>
  170. <tr class="memdesc:a0551cf104b35669b5f5153c1d03d5d2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts an item to this receiver. <br/></td></tr>
  171. <tr class="separator:a0551cf104b35669b5f5153c1d03d5d2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  172. <tr class="memitem:ab3c1631293b605d0341495a24c93212b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3c1631293b605d0341495a24c93212b"></a>
  173. void&#160;</td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
  174. <tr class="separator:ab3c1631293b605d0341495a24c93212b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  175. <tr class="memitem:a19426306eaf174d85432cd0d0f0888a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19426306eaf174d85432cd0d0f0888a3"></a>
  176. void&#160;</td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
  177. <tr class="separator:a19426306eaf174d85432cd0d0f0888a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  178. <tr class="inherit_header pro_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00106')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver&lt; T &gt;</a></td></tr>
  179. <tr class="memitem:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae91eab3e06d4139ac38f143c74fe9eab"></a>
  180. virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_continue_receiver</b> ()</td></tr>
  181. <tr class="separator:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
  182. </table><table class="memberdecls">
  183. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
  184. Friends</h2></td></tr>
  185. <tr class="memitem:affe7799181c01bdd203c2ca2117dae7d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="affe7799181c01bdd203c2ca2117dae7d"></a>
  186. class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::forward_task_bypass&lt; limiter_node&lt; T &gt; &gt;</b></td></tr>
  187. <tr class="separator:affe7799181c01bdd203c2ca2117dae7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  188. <tr class="memitem:a80d4e1a1fa28ce76b1b08e12f93983f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80d4e1a1fa28ce76b1b08e12f93983f2"></a>
  189. class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::decrementer&lt; limiter_node&lt; T &gt; &gt;</b></td></tr>
  190. <tr class="separator:a80d4e1a1fa28ce76b1b08e12f93983f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  191. <tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplParams" colspan="2"><a class="anchor" id="abaf9bf74ca5f2854d09f5f07337280eb"></a>
  192. template&lt;typename R , typename B &gt; </td></tr>
  193. <tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><b>run_and_put_task</b></td></tr>
  194. <tr class="separator:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  195. <tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1360e38efe396058978cf3754ad620f5"></a>
  196. template&lt;typename X , typename Y &gt; </td></tr>
  197. <tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
  198. <tr class="separator:a1360e38efe396058978cf3754ad620f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  199. <tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplParams" colspan="2"><a class="anchor" id="acbd9ac2610587a99cd7d43344297cc49"></a>
  200. template&lt;typename X , typename Y &gt; </td></tr>
  201. <tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
  202. <tr class="separator:acbd9ac2610587a99cd7d43344297cc49"><td class="memSeparator" colspan="2">&#160;</td></tr>
  203. </table><table class="memberdecls">
  204. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
  205. Additional Inherited Members</h2></td></tr>
  206. <tr class="inherit_header pro_attribs_a00063"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00063')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
  207. <tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
  208. <a class="el" href="a00061.html">graph</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
  209. <tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2">&#160;</td></tr>
  210. <tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
  211. <a class="el" href="a00063.html">graph_node</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
  212. <tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2">&#160;</td></tr>
  213. <tr class="memitem:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
  214. <a class="el" href="a00063.html">graph_node</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
  215. <tr class="separator:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memSeparator" colspan="2">&#160;</td></tr>
  216. </table>
  217. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  218. <div class="textblock"><h3>template&lt;typename T&gt;<br/>
  219. class tbb::flow::interface7::limiter_node&lt; T &gt;</h3>
  220. <p>Forwards messages only if the threshold has not been reached. </p>
  221. <p>This node forwards items until its threshold is reached. It contains no buffering. If the downstream node rejects, the message is dropped. </p>
  222. </div><h2 class="groupheader">Member Function Documentation</h2>
  223. <a class="anchor" id="ac7b092dcc2808abf02816d4ac9c86e66"></a>
  224. <div class="memitem">
  225. <div class="memproto">
  226. <div class="memtemplate">
  227. template&lt;typename T &gt; </div>
  228. <table class="mlabels">
  229. <tr>
  230. <td class="mlabels-left">
  231. <table class="memname">
  232. <tr>
  233. <td class="memname">bool <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node</a>&lt; T &gt;::remove_successor </td>
  234. <td>(</td>
  235. <td class="paramtype"><a class="el" href="a00106.html">receiver</a>&lt; <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> &gt; &amp;&#160;</td>
  236. <td class="paramname"><em>r</em>)</td><td></td>
  237. <td></td>
  238. </tr>
  239. </table>
  240. </td>
  241. <td class="mlabels-right">
  242. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  243. </tr>
  244. </table>
  245. </div><div class="memdoc">
  246. <p>Removes a successor from this node. </p>
  247. <p>r.remove_predecessor(*this) is also called. </p>
  248. <p>Implements <a class="el" href="a00124.html#ac1ae19f49e31c6ca94dcf14732eb7a64">tbb::flow::interface7::sender&lt; T &gt;</a>.</p>
  249. </div>
  250. </div>
  251. <hr/>The documentation for this class was generated from the following file:<ul>
  252. <li><a class="el" href="a00179.html">flow_graph.h</a></li>
  253. </ul>
  254. </div><!-- contents -->
  255. <hr>
  256. <p></p>
  257. Copyright &copy; 2005-2014 Intel Corporation. All Rights Reserved.
  258. <p></p>
  259. Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
  260. registered trademarks or trademarks of Intel Corporation or its
  261. subsidiaries in the United States and other countries.
  262. <p></p>
  263. * Other names and brands may be claimed as the property of others.