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.

502 lines
42 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::buffer_node&lt; T, A &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="a00027.html">buffer_node</a></li> </ul>
  37. </div>
  38. </div><!-- top -->
  39. <div class="header">
  40. <div class="summary">
  41. <a href="#nested-classes">Classes</a> &#124;
  42. <a href="#pub-types">Public Types</a> &#124;
  43. <a href="#pub-methods">Public Member Functions</a> &#124;
  44. <a href="#pro-types">Protected Types</a> &#124;
  45. <a href="#pro-methods">Protected Member Functions</a> &#124;
  46. <a href="#pro-attribs">Protected Attributes</a> &#124;
  47. <a href="#friends">Friends</a> &#124;
  48. <a href="a00325.html">List of all members</a> </div>
  49. <div class="headertitle">
  50. <div class="title">tbb::flow::interface7::buffer_node&lt; T, A &gt; Class Template Reference</div> </div>
  51. </div><!--header-->
  52. <div class="contents">
  53. <p>Forwards messages in arbitrary order.
  54. <a href="a00027.html#details">More...</a></p>
  55. <p><code>#include &lt;flow_graph.h&gt;</code></p>
  56. <div class="dynheader">
  57. Inheritance diagram for tbb::flow::interface7::buffer_node&lt; T, A &gt;:</div>
  58. <div class="dyncontent">
  59. <div class="center">
  60. <img src="a00027.png" usemap="#tbb::flow::interface7::buffer_node&lt; T, A &gt;_map" alt=""/>
  61. <map id="tbb::flow::interface7::buffer_node&lt; T, A &gt;_map" name="tbb::flow::interface7::buffer_node&lt; T, A &gt;_map">
  62. <area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,352,80"/>
  63. <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="724,56,1076,80"/>
  64. <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="1086,56,1438,80"/>
  65. <area href="a00091.html" title="Forwards messages in priority order. " alt="tbb::flow::interface7::priority_queue_node&lt; T, Compare, A &gt;" shape="rect" coords="362,168,714,192"/>
  66. <area href="a00092.html" title="Forwards messages in FIFO order. " alt="tbb::flow::interface7::queue_node&lt; T, A &gt;" shape="rect" coords="724,168,1076,192"/>
  67. <area href="a00125.html" title="Forwards messages in sequence order. " alt="tbb::flow::interface7::sequencer_node&lt; T, A &gt;" shape="rect" coords="724,224,1076,248"/>
  68. </map>
  69. </div></div>
  70. <table class="memberdecls">
  71. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
  72. Classes</h2></td></tr>
  73. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html">buffer_operation</a></td></tr>
  74. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  75. </table><table class="memberdecls">
  76. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
  77. Public Types</h2></td></tr>
  78. <tr class="memitem:a57a0aab7103d1d0cbf27560c9acf6c8f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57a0aab7103d1d0cbf27560c9acf6c8f"></a>
  79. typedef T&#160;</td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
  80. <tr class="separator:a57a0aab7103d1d0cbf27560c9acf6c8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  81. <tr class="memitem:abedb8c98e62146c3473344b7148173b8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abedb8c98e62146c3473344b7148173b8"></a>
  82. typedef T&#160;</td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
  83. <tr class="separator:abedb8c98e62146c3473344b7148173b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  84. <tr class="memitem:a3c34a2182dcbbded45da979b0f405817"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c34a2182dcbbded45da979b0f405817"></a>
  85. 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>
  86. <tr class="separator:a3c34a2182dcbbded45da979b0f405817"><td class="memSeparator" colspan="2">&#160;</td></tr>
  87. <tr class="memitem:a5e505e0c4a904e2c1ded8c7c8f657c3b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e505e0c4a904e2c1ded8c7c8f657c3b"></a>
  88. 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>
  89. <tr class="separator:a5e505e0c4a904e2c1ded8c7c8f657c3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  90. <tr class="memitem:a60032183e0f0266dc17b140e47dd8fc1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60032183e0f0266dc17b140e47dd8fc1"></a>
  91. typedef <a class="el" href="a00027.html">buffer_node</a>&lt; T, A &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>my_class</b></td></tr>
  92. <tr class="separator:a60032183e0f0266dc17b140e47dd8fc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  93. <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>
  94. <tr class="memitem:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16eccc851b858604344bb8f1bb9eedc8"></a>
  95. typedef T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a></td></tr>
  96. <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>
  97. <tr class="separator:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
  98. <tr class="memitem:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbadf5511bd568d283040cd88bd4e81e"></a>
  99. 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>
  100. <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>
  101. <tr class="separator:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
  102. <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>
  103. <tr class="memitem:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add86fddf72758d8e5b05b07650c6eeed"></a>
  104. typedef T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a></td></tr>
  105. <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>
  106. <tr class="separator:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memSeparator" colspan="2">&#160;</td></tr>
  107. <tr class="memitem:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7779627063a29d4d2a1fc905a5cae8db"></a>
  108. 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>
  109. <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>
  110. <tr class="separator:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memSeparator" colspan="2">&#160;</td></tr>
  111. </table><table class="memberdecls">
  112. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  113. Public Member Functions</h2></td></tr>
  114. <tr class="memitem:a152f7bb9ab1f033ec56caa451327634c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a152f7bb9ab1f033ec56caa451327634c"></a>
  115. &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a152f7bb9ab1f033ec56caa451327634c">buffer_node</a> (<a class="el" href="a00061.html">graph</a> &amp;g)</td></tr>
  116. <tr class="memdesc:a152f7bb9ab1f033ec56caa451327634c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br/></td></tr>
  117. <tr class="separator:a152f7bb9ab1f033ec56caa451327634c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  118. <tr class="memitem:a739635c43d1150f2c8dd3f455d698d36"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a739635c43d1150f2c8dd3f455d698d36"></a>
  119. &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a739635c43d1150f2c8dd3f455d698d36">buffer_node</a> (const <a class="el" href="a00027.html">buffer_node</a> &amp;src)</td></tr>
  120. <tr class="memdesc:a739635c43d1150f2c8dd3f455d698d36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br/></td></tr>
  121. <tr class="separator:a739635c43d1150f2c8dd3f455d698d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <tr class="memitem:a6d38f53c02a6fa64754826249dab5185"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d38f53c02a6fa64754826249dab5185"></a>
  123. void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
  124. <tr class="separator:a6d38f53c02a6fa64754826249dab5185"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:ab458d9fa2c7d6f39ec62d4027c9da376"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#ab458d9fa2c7d6f39ec62d4027c9da376">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>
  126. <tr class="memdesc:ab458d9fa2c7d6f39ec62d4027c9da376"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new successor. <a href="#ab458d9fa2c7d6f39ec62d4027c9da376">More...</a><br/></td></tr>
  127. <tr class="separator:ab458d9fa2c7d6f39ec62d4027c9da376"><td class="memSeparator" colspan="2">&#160;</td></tr>
  128. <tr class="memitem:a70d3c1fb1af11deb9b92fa753fa8604c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a70d3c1fb1af11deb9b92fa753fa8604c">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>
  129. <tr class="memdesc:a70d3c1fb1af11deb9b92fa753fa8604c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a successor. <a href="#a70d3c1fb1af11deb9b92fa753fa8604c">More...</a><br/></td></tr>
  130. <tr class="separator:a70d3c1fb1af11deb9b92fa753fa8604c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:a175cb77dfbdd0e322097a833a2271c1e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a175cb77dfbdd0e322097a833a2271c1e">try_get</a> (T &amp;v)</td></tr>
  132. <tr class="memdesc:a175cb77dfbdd0e322097a833a2271c1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request an item from the <a class="el" href="a00027.html" title="Forwards messages in arbitrary order. ">buffer_node</a>. <a href="#a175cb77dfbdd0e322097a833a2271c1e">More...</a><br/></td></tr>
  133. <tr class="separator:a175cb77dfbdd0e322097a833a2271c1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:a3b12cdebf8cef15b90e3c9cd9e51019f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a3b12cdebf8cef15b90e3c9cd9e51019f">try_reserve</a> (T &amp;v)</td></tr>
  135. <tr class="memdesc:a3b12cdebf8cef15b90e3c9cd9e51019f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserves an item. <a href="#a3b12cdebf8cef15b90e3c9cd9e51019f">More...</a><br/></td></tr>
  136. <tr class="separator:a3b12cdebf8cef15b90e3c9cd9e51019f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <tr class="memitem:aaa3745fd4705345df16fb33954d93e30"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#aaa3745fd4705345df16fb33954d93e30">try_release</a> ()</td></tr>
  138. <tr class="memdesc:aaa3745fd4705345df16fb33954d93e30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release a reserved item. <a href="#aaa3745fd4705345df16fb33954d93e30">More...</a><br/></td></tr>
  139. <tr class="separator:aaa3745fd4705345df16fb33954d93e30"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. <tr class="memitem:a335072bc547c5e9b40f58dfeab525953"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a335072bc547c5e9b40f58dfeab525953">try_consume</a> ()</td></tr>
  141. <tr class="memdesc:a335072bc547c5e9b40f58dfeab525953"><td class="mdescLeft">&#160;</td><td class="mdescRight">Consumes a reserved item. <a href="#a335072bc547c5e9b40f58dfeab525953">More...</a><br/></td></tr>
  142. <tr class="separator:a335072bc547c5e9b40f58dfeab525953"><td class="memSeparator" colspan="2">&#160;</td></tr>
  143. <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>
  144. <tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
  145. &#160;</td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &amp;g)</td></tr>
  146. <tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2">&#160;</td></tr>
  147. <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>
  148. <tr class="memitem:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a733889a9053478ef2fb2528e2205bf07"></a>
  149. virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a> ()</td></tr>
  150. <tr class="memdesc:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
  151. <tr class="separator:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
  152. <tr class="memitem:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5067bb4f4b71ffa786c1b33cb9aa6a"></a>
  153. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a> (const T &amp;t)</td></tr>
  154. <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>
  155. <tr class="separator:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
  156. <tr class="memitem:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16427aa709505de93ffe0d79136e4251"></a>
  157. virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &amp;)</td></tr>
  158. <tr class="memdesc:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a predecessor to the node. <br/></td></tr>
  159. <tr class="separator:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
  160. <tr class="memitem:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55adae6228bbdc1539695e1ec20e9762"></a>
  161. virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &amp;)</td></tr>
  162. <tr class="memdesc:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a predecessor from the node. <br/></td></tr>
  163. <tr class="separator:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
  164. </table><table class="memberdecls">
  165. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
  166. Protected Types</h2></td></tr>
  167. <tr class="memitem:a0e9c45eefd5231c6a7f8e78ab4b3e3c1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>op_type</b> { <br/>
  168. &#160;&#160;<b>reg_succ</b>,
  169. <b>rem_succ</b>,
  170. <b>req_item</b>,
  171. <b>res_item</b>,
  172. <br/>
  173. &#160;&#160;<b>rel_res</b>,
  174. <b>con_res</b>,
  175. <b>put_item</b>,
  176. <b>try_fwd_task</b>
  177. <br/>
  178. }</td></tr>
  179. <tr class="separator:a0e9c45eefd5231c6a7f8e78ab4b3e3c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  180. <tr class="memitem:a97578c4c0b47aa1e7281d0343f45c6e2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>op_stat</b> { <b>WAIT</b> =0,
  181. <b>SUCCEEDED</b>,
  182. <b>FAILED</b>
  183. }</td></tr>
  184. <tr class="separator:a97578c4c0b47aa1e7281d0343f45c6e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  185. <tr class="memitem:ac2ba7ceb6c4c435c5abc9846a91853e2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2ba7ceb6c4c435c5abc9846a91853e2"></a>
  186. typedef size_t&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
  187. <tr class="separator:ac2ba7ceb6c4c435c5abc9846a91853e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  188. <tr class="memitem:a7f1a187e32fb9a630a142ef37aeda958"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f1a187e32fb9a630a142ef37aeda958"></a>
  189. typedef <br class="typebreak"/>
  190. internal::aggregating_functor<br class="typebreak"/>
  191. &lt; <a class="el" href="a00027.html">my_class</a>, <a class="el" href="a00028.html">buffer_operation</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>my_handler</b></td></tr>
  192. <tr class="separator:a7f1a187e32fb9a630a142ef37aeda958"><td class="memSeparator" colspan="2">&#160;</td></tr>
  193. </table><table class="memberdecls">
  194. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
  195. Protected Member Functions</h2></td></tr>
  196. <tr class="memitem:a2d09326016a31e17acd57f8e6ce58054"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d09326016a31e17acd57f8e6ce58054"></a>
  197. virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>handle_operations</b> (<a class="el" href="a00028.html">buffer_operation</a> *op_list)</td></tr>
  198. <tr class="separator:a2d09326016a31e17acd57f8e6ce58054"><td class="memSeparator" colspan="2">&#160;</td></tr>
  199. <tr class="memitem:a5fde962bed26ee41c370e48bce678320"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fde962bed26ee41c370e48bce678320"></a>
  200. task *&#160;</td><td class="memItemRight" valign="bottom"><b>grab_forwarding_task</b> (<a class="el" href="a00028.html">buffer_operation</a> &amp;op_data)</td></tr>
  201. <tr class="separator:a5fde962bed26ee41c370e48bce678320"><td class="memSeparator" colspan="2">&#160;</td></tr>
  202. <tr class="memitem:a19dbfc4065f57efd7375fcc1b259dd9c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19dbfc4065f57efd7375fcc1b259dd9c"></a>
  203. bool&#160;</td><td class="memItemRight" valign="bottom"><b>enqueue_forwarding_task</b> (<a class="el" href="a00028.html">buffer_operation</a> &amp;op_data)</td></tr>
  204. <tr class="separator:a19dbfc4065f57efd7375fcc1b259dd9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  205. <tr class="memitem:a8910a497040a4c6f1a6a1fb7a33a8888"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8910a497040a4c6f1a6a1fb7a33a8888"></a>
  206. virtual task *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a8910a497040a4c6f1a6a1fb7a33a8888">forward_task</a> ()</td></tr>
  207. <tr class="memdesc:a8910a497040a4c6f1a6a1fb7a33a8888"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is executed by an enqueued task, the "forwarder". <br/></td></tr>
  208. <tr class="separator:a8910a497040a4c6f1a6a1fb7a33a8888"><td class="memSeparator" colspan="2">&#160;</td></tr>
  209. <tr class="memitem:afa2dd93a1b42e77ccf7e1de0fddf3158"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa2dd93a1b42e77ccf7e1de0fddf3158"></a>
  210. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#afa2dd93a1b42e77ccf7e1de0fddf3158">internal_reg_succ</a> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
  211. <tr class="memdesc:afa2dd93a1b42e77ccf7e1de0fddf3158"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register successor. <br/></td></tr>
  212. <tr class="separator:afa2dd93a1b42e77ccf7e1de0fddf3158"><td class="memSeparator" colspan="2">&#160;</td></tr>
  213. <tr class="memitem:a46c7f9cd9130036244d4ea8efd74bf22"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46c7f9cd9130036244d4ea8efd74bf22"></a>
  214. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a46c7f9cd9130036244d4ea8efd74bf22">internal_rem_succ</a> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
  215. <tr class="memdesc:a46c7f9cd9130036244d4ea8efd74bf22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove successor. <br/></td></tr>
  216. <tr class="separator:a46c7f9cd9130036244d4ea8efd74bf22"><td class="memSeparator" colspan="2">&#160;</td></tr>
  217. <tr class="memitem:a3aa7578ccbd3d5f986869ab8698c037c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3aa7578ccbd3d5f986869ab8698c037c"></a>
  218. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a3aa7578ccbd3d5f986869ab8698c037c">internal_forward_task</a> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
  219. <tr class="memdesc:a3aa7578ccbd3d5f986869ab8698c037c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to forward valid items to successors. <br/></td></tr>
  220. <tr class="separator:a3aa7578ccbd3d5f986869ab8698c037c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  221. <tr class="memitem:a2fe75e82e8dffa7d13fa9e82d9951dba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fe75e82e8dffa7d13fa9e82d9951dba"></a>
  222. virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>internal_push</b> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
  223. <tr class="separator:a2fe75e82e8dffa7d13fa9e82d9951dba"><td class="memSeparator" colspan="2">&#160;</td></tr>
  224. <tr class="memitem:a574bf95b7b06f24bafb13aa586dd2c66"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a574bf95b7b06f24bafb13aa586dd2c66"></a>
  225. virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>internal_pop</b> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
  226. <tr class="separator:a574bf95b7b06f24bafb13aa586dd2c66"><td class="memSeparator" colspan="2">&#160;</td></tr>
  227. <tr class="memitem:aeaea0922cb1344925524d892864f78e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeaea0922cb1344925524d892864f78e0"></a>
  228. virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>internal_reserve</b> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
  229. <tr class="separator:aeaea0922cb1344925524d892864f78e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  230. <tr class="memitem:a5f90411a5cc3f5c7c4210f8bb4e73f68"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f90411a5cc3f5c7c4210f8bb4e73f68"></a>
  231. virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>internal_consume</b> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
  232. <tr class="separator:a5f90411a5cc3f5c7c4210f8bb4e73f68"><td class="memSeparator" colspan="2">&#160;</td></tr>
  233. <tr class="memitem:ae7b3eee1ec878f6f0055f6133b233c09"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae7b3eee1ec878f6f0055f6133b233c09"></a>
  234. virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>internal_release</b> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
  235. <tr class="separator:ae7b3eee1ec878f6f0055f6133b233c09"><td class="memSeparator" colspan="2">&#160;</td></tr>
  236. <tr class="memitem:aa4517c0a58649ea5eb140ab4b786e1ec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4517c0a58649ea5eb140ab4b786e1ec"></a>
  237. task *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#aa4517c0a58649ea5eb140ab4b786e1ec">try_put_task</a> (const T &amp;t)</td></tr>
  238. <tr class="memdesc:aa4517c0a58649ea5eb140ab4b786e1ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">receive an item, return a task *if possible <br/></td></tr>
  239. <tr class="separator:aa4517c0a58649ea5eb140ab4b786e1ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
  240. <tr class="memitem:a5c02d02bdb7ab20055d2f0aaba8d3c9c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c02d02bdb7ab20055d2f0aaba8d3c9c"></a>
  241. void&#160;</td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
  242. <tr class="separator:a5c02d02bdb7ab20055d2f0aaba8d3c9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  243. <tr class="memitem:aa4fe0ea40c0f1ed6d109eed8d8bf25ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4fe0ea40c0f1ed6d109eed8d8bf25ee"></a>
  244. void&#160;</td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
  245. <tr class="separator:aa4fe0ea40c0f1ed6d109eed8d8bf25ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
  246. <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>
  247. <tr class="memitem:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae91eab3e06d4139ac38f143c74fe9eab"></a>
  248. virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_continue_receiver</b> ()</td></tr>
  249. <tr class="separator:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
  250. </table><table class="memberdecls">
  251. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
  252. Protected Attributes</h2></td></tr>
  253. <tr class="memitem:ade2fe89be00e023aafb1d3c380762048"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade2fe89be00e023aafb1d3c380762048"></a>
  254. <a class="el" href="a00108.html">internal::round_robin_cache</a>&lt; T, <br class="typebreak"/>
  255. <a class="el" href="a00084.html">null_rw_mutex</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>my_successors</b></td></tr>
  256. <tr class="separator:ade2fe89be00e023aafb1d3c380762048"><td class="memSeparator" colspan="2">&#160;</td></tr>
  257. <tr class="memitem:a441fb73f0e15aed49945fb7ec9925e9f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a441fb73f0e15aed49945fb7ec9925e9f"></a>
  258. bool&#160;</td><td class="memItemRight" valign="bottom"><b>forwarder_busy</b></td></tr>
  259. <tr class="separator:a441fb73f0e15aed49945fb7ec9925e9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  260. <tr class="memitem:adc948866a1eb4c7a95b0edc08872d487"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc948866a1eb4c7a95b0edc08872d487"></a>
  261. internal::aggregator<br class="typebreak"/>
  262. &lt; my_handler, <a class="el" href="a00028.html">buffer_operation</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>my_aggregator</b></td></tr>
  263. <tr class="separator:adc948866a1eb4c7a95b0edc08872d487"><td class="memSeparator" colspan="2">&#160;</td></tr>
  264. <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>
  265. <tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
  266. <a class="el" href="a00061.html">graph</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
  267. <tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2">&#160;</td></tr>
  268. <tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
  269. <a class="el" href="a00063.html">graph_node</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
  270. <tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2">&#160;</td></tr>
  271. <tr class="memitem:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
  272. <a class="el" href="a00063.html">graph_node</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
  273. <tr class="separator:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memSeparator" colspan="2">&#160;</td></tr>
  274. </table><table class="memberdecls">
  275. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
  276. Friends</h2></td></tr>
  277. <tr class="memitem:ad66dc7488e0c58eef0d3ae292d900c04"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad66dc7488e0c58eef0d3ae292d900c04"></a>
  278. class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::forward_task_bypass&lt; buffer_node&lt; T, A &gt; &gt;</b></td></tr>
  279. <tr class="separator:ad66dc7488e0c58eef0d3ae292d900c04"><td class="memSeparator" colspan="2">&#160;</td></tr>
  280. <tr class="memitem:a8fa999cf286dcad00faeece4cbfa35d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8fa999cf286dcad00faeece4cbfa35d2"></a>
  281. class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::aggregating_functor&lt; my_class, buffer_operation &gt;</b></td></tr>
  282. <tr class="separator:a8fa999cf286dcad00faeece4cbfa35d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  283. <tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplParams" colspan="2"><a class="anchor" id="abaf9bf74ca5f2854d09f5f07337280eb"></a>
  284. template&lt;typename R , typename B &gt; </td></tr>
  285. <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>
  286. <tr class="separator:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  287. <tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1360e38efe396058978cf3754ad620f5"></a>
  288. template&lt;typename X , typename Y &gt; </td></tr>
  289. <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>
  290. <tr class="separator:a1360e38efe396058978cf3754ad620f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  291. <tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplParams" colspan="2"><a class="anchor" id="acbd9ac2610587a99cd7d43344297cc49"></a>
  292. template&lt;typename X , typename Y &gt; </td></tr>
  293. <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>
  294. <tr class="separator:acbd9ac2610587a99cd7d43344297cc49"><td class="memSeparator" colspan="2">&#160;</td></tr>
  295. </table>
  296. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  297. <div class="textblock"><h3>template&lt;typename T, typename A = cache_aligned_allocator&lt;T&gt;&gt;<br/>
  298. class tbb::flow::interface7::buffer_node&lt; T, A &gt;</h3>
  299. <p>Forwards messages in arbitrary order. </p>
  300. </div><h2 class="groupheader">Member Function Documentation</h2>
  301. <a class="anchor" id="ab458d9fa2c7d6f39ec62d4027c9da376"></a>
  302. <div class="memitem">
  303. <div class="memproto">
  304. <div class="memtemplate">
  305. template&lt;typename T, typename A = cache_aligned_allocator&lt;T&gt;&gt; </div>
  306. <table class="mlabels">
  307. <tr>
  308. <td class="mlabels-left">
  309. <table class="memname">
  310. <tr>
  311. <td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>&lt; T, A &gt;::register_successor </td>
  312. <td>(</td>
  313. <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>
  314. <td class="paramname"><em>r</em>)</td><td></td>
  315. <td></td>
  316. </tr>
  317. </table>
  318. </td>
  319. <td class="mlabels-right">
  320. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  321. </tr>
  322. </table>
  323. </div><div class="memdoc">
  324. <p>Adds a new successor. </p>
  325. <p>Adds successor r to the list of successors; may forward tasks. </p>
  326. <p>Implements <a class="el" href="a00124.html#a4dac8f53a1f8373c1f3a874b9617e4ec">tbb::flow::interface7::sender&lt; T &gt;</a>.</p>
  327. </div>
  328. </div>
  329. <a class="anchor" id="a70d3c1fb1af11deb9b92fa753fa8604c"></a>
  330. <div class="memitem">
  331. <div class="memproto">
  332. <div class="memtemplate">
  333. template&lt;typename T, typename A = cache_aligned_allocator&lt;T&gt;&gt; </div>
  334. <table class="mlabels">
  335. <tr>
  336. <td class="mlabels-left">
  337. <table class="memname">
  338. <tr>
  339. <td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>&lt; T, A &gt;::remove_successor </td>
  340. <td>(</td>
  341. <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>
  342. <td class="paramname"><em>r</em>)</td><td></td>
  343. <td></td>
  344. </tr>
  345. </table>
  346. </td>
  347. <td class="mlabels-right">
  348. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  349. </tr>
  350. </table>
  351. </div><div class="memdoc">
  352. <p>Removes a successor. </p>
  353. <p>Removes successor r from the list of successors. It also calls r.remove_predecessor(*this) to remove this node as a predecessor. </p>
  354. <p>Implements <a class="el" href="a00124.html#ac1ae19f49e31c6ca94dcf14732eb7a64">tbb::flow::interface7::sender&lt; T &gt;</a>.</p>
  355. </div>
  356. </div>
  357. <a class="anchor" id="a335072bc547c5e9b40f58dfeab525953"></a>
  358. <div class="memitem">
  359. <div class="memproto">
  360. <div class="memtemplate">
  361. template&lt;typename T, typename A = cache_aligned_allocator&lt;T&gt;&gt; </div>
  362. <table class="mlabels">
  363. <tr>
  364. <td class="mlabels-left">
  365. <table class="memname">
  366. <tr>
  367. <td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>&lt; T, A &gt;::try_consume </td>
  368. <td>(</td>
  369. <td class="paramname">)</td><td></td>
  370. <td></td>
  371. </tr>
  372. </table>
  373. </td>
  374. <td class="mlabels-right">
  375. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  376. </tr>
  377. </table>
  378. </div><div class="memdoc">
  379. <p>Consumes a reserved item. </p>
  380. <p>true = item is removed from sender and reservation removed </p>
  381. <p>Reimplemented from <a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">tbb::flow::interface7::sender&lt; T &gt;</a>.</p>
  382. </div>
  383. </div>
  384. <a class="anchor" id="a175cb77dfbdd0e322097a833a2271c1e"></a>
  385. <div class="memitem">
  386. <div class="memproto">
  387. <div class="memtemplate">
  388. template&lt;typename T, typename A = cache_aligned_allocator&lt;T&gt;&gt; </div>
  389. <table class="mlabels">
  390. <tr>
  391. <td class="mlabels-left">
  392. <table class="memname">
  393. <tr>
  394. <td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>&lt; T, A &gt;::try_get </td>
  395. <td>(</td>
  396. <td class="paramtype">T &amp;&#160;</td>
  397. <td class="paramname"><em>v</em>)</td><td></td>
  398. <td></td>
  399. </tr>
  400. </table>
  401. </td>
  402. <td class="mlabels-right">
  403. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  404. </tr>
  405. </table>
  406. </div><div class="memdoc">
  407. <p>Request an item from the <a class="el" href="a00027.html" title="Forwards messages in arbitrary order. ">buffer_node</a>. </p>
  408. <p>true = v contains the returned item<br/>
  409. false = no item has been returned </p>
  410. <p>Reimplemented from <a class="el" href="a00124.html#ad50b8ac93e79cbdcd2bba11d35432f2c">tbb::flow::interface7::sender&lt; T &gt;</a>.</p>
  411. </div>
  412. </div>
  413. <a class="anchor" id="aaa3745fd4705345df16fb33954d93e30"></a>
  414. <div class="memitem">
  415. <div class="memproto">
  416. <div class="memtemplate">
  417. template&lt;typename T, typename A = cache_aligned_allocator&lt;T&gt;&gt; </div>
  418. <table class="mlabels">
  419. <tr>
  420. <td class="mlabels-left">
  421. <table class="memname">
  422. <tr>
  423. <td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>&lt; T, A &gt;::try_release </td>
  424. <td>(</td>
  425. <td class="paramname">)</td><td></td>
  426. <td></td>
  427. </tr>
  428. </table>
  429. </td>
  430. <td class="mlabels-right">
  431. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  432. </tr>
  433. </table>
  434. </div><div class="memdoc">
  435. <p>Release a reserved item. </p>
  436. <p>true = item has been released and so remains in sender </p>
  437. <p>Reimplemented from <a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">tbb::flow::interface7::sender&lt; T &gt;</a>.</p>
  438. </div>
  439. </div>
  440. <a class="anchor" id="a3b12cdebf8cef15b90e3c9cd9e51019f"></a>
  441. <div class="memitem">
  442. <div class="memproto">
  443. <div class="memtemplate">
  444. template&lt;typename T, typename A = cache_aligned_allocator&lt;T&gt;&gt; </div>
  445. <table class="mlabels">
  446. <tr>
  447. <td class="mlabels-left">
  448. <table class="memname">
  449. <tr>
  450. <td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>&lt; T, A &gt;::try_reserve </td>
  451. <td>(</td>
  452. <td class="paramtype">T &amp;&#160;</td>
  453. <td class="paramname"><em>v</em>)</td><td></td>
  454. <td></td>
  455. </tr>
  456. </table>
  457. </td>
  458. <td class="mlabels-right">
  459. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  460. </tr>
  461. </table>
  462. </div><div class="memdoc">
  463. <p>Reserves an item. </p>
  464. <p>false = no item can be reserved<br/>
  465. true = an item is reserved </p>
  466. <p>Reimplemented from <a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">tbb::flow::interface7::sender&lt; T &gt;</a>.</p>
  467. </div>
  468. </div>
  469. <hr/>The documentation for this class was generated from the following file:<ul>
  470. <li><a class="el" href="a00179.html">flow_graph.h</a></li>
  471. </ul>
  472. </div><!-- contents -->
  473. <hr>
  474. <p></p>
  475. Copyright &copy; 2005-2014 Intel Corporation. All Rights Reserved.
  476. <p></p>
  477. Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
  478. registered trademarks or trademarks of Intel Corporation or its
  479. subsidiaries in the United States and other countries.
  480. <p></p>
  481. * Other names and brands may be claimed as the property of others.