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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.4"/>
<title>tbb::flow::interface7::buffer_node&lt; T, A &gt; Class 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="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<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>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="a00325.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">tbb::flow::interface7::buffer_node&lt; T, A &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Forwards messages in arbitrary order.
<a href="a00027.html#details">More...</a></p>
<p><code>#include &lt;flow_graph.h&gt;</code></p>
<div class="dynheader">
Inheritance diagram for tbb::flow::interface7::buffer_node&lt; T, A &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="a00027.png" usemap="#tbb::flow::interface7::buffer_node&lt; T, A &gt;_map" alt=""/>
<map id="tbb::flow::interface7::buffer_node&lt; T, A &gt;_map" name="tbb::flow::interface7::buffer_node&lt; T, A &gt;_map">
<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,352,80"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html">buffer_operation</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a57a0aab7103d1d0cbf27560c9acf6c8f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57a0aab7103d1d0cbf27560c9acf6c8f"></a>
typedef T&#160;</td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
<tr class="separator:a57a0aab7103d1d0cbf27560c9acf6c8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abedb8c98e62146c3473344b7148173b8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abedb8c98e62146c3473344b7148173b8"></a>
typedef T&#160;</td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
<tr class="separator:abedb8c98e62146c3473344b7148173b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c34a2182dcbbded45da979b0f405817"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c34a2182dcbbded45da979b0f405817"></a>
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>
<tr class="separator:a3c34a2182dcbbded45da979b0f405817"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e505e0c4a904e2c1ded8c7c8f657c3b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e505e0c4a904e2c1ded8c7c8f657c3b"></a>
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>
<tr class="separator:a5e505e0c4a904e2c1ded8c7c8f657c3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60032183e0f0266dc17b140e47dd8fc1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60032183e0f0266dc17b140e47dd8fc1"></a>
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>
<tr class="separator:a60032183e0f0266dc17b140e47dd8fc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="memitem:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16eccc851b858604344bb8f1bb9eedc8"></a>
typedef T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a></td></tr>
<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>
<tr class="separator:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbadf5511bd568d283040cd88bd4e81e"></a>
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>
<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>
<tr class="separator:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="memitem:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add86fddf72758d8e5b05b07650c6eeed"></a>
typedef T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a></td></tr>
<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>
<tr class="separator:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7779627063a29d4d2a1fc905a5cae8db"></a>
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>
<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>
<tr class="separator:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a152f7bb9ab1f033ec56caa451327634c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a152f7bb9ab1f033ec56caa451327634c"></a>
&#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>
<tr class="memdesc:a152f7bb9ab1f033ec56caa451327634c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br/></td></tr>
<tr class="separator:a152f7bb9ab1f033ec56caa451327634c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a739635c43d1150f2c8dd3f455d698d36"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a739635c43d1150f2c8dd3f455d698d36"></a>
&#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>
<tr class="memdesc:a739635c43d1150f2c8dd3f455d698d36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br/></td></tr>
<tr class="separator:a739635c43d1150f2c8dd3f455d698d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d38f53c02a6fa64754826249dab5185"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d38f53c02a6fa64754826249dab5185"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
<tr class="separator:a6d38f53c02a6fa64754826249dab5185"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="memdesc:ab458d9fa2c7d6f39ec62d4027c9da376"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new successor. <a href="#ab458d9fa2c7d6f39ec62d4027c9da376">More...</a><br/></td></tr>
<tr class="separator:ab458d9fa2c7d6f39ec62d4027c9da376"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="memdesc:a70d3c1fb1af11deb9b92fa753fa8604c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a successor. <a href="#a70d3c1fb1af11deb9b92fa753fa8604c">More...</a><br/></td></tr>
<tr class="separator:a70d3c1fb1af11deb9b92fa753fa8604c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<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>
<tr class="separator:a175cb77dfbdd0e322097a833a2271c1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="memdesc:a3b12cdebf8cef15b90e3c9cd9e51019f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserves an item. <a href="#a3b12cdebf8cef15b90e3c9cd9e51019f">More...</a><br/></td></tr>
<tr class="separator:a3b12cdebf8cef15b90e3c9cd9e51019f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="memdesc:aaa3745fd4705345df16fb33954d93e30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release a reserved item. <a href="#aaa3745fd4705345df16fb33954d93e30">More...</a><br/></td></tr>
<tr class="separator:aaa3745fd4705345df16fb33954d93e30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="memdesc:a335072bc547c5e9b40f58dfeab525953"><td class="mdescLeft">&#160;</td><td class="mdescRight">Consumes a reserved item. <a href="#a335072bc547c5e9b40f58dfeab525953">More...</a><br/></td></tr>
<tr class="separator:a335072bc547c5e9b40f58dfeab525953"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &amp;g)</td></tr>
<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="memitem:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a733889a9053478ef2fb2528e2205bf07"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a> ()</td></tr>
<tr class="memdesc:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr class="separator:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5067bb4f4b71ffa786c1b33cb9aa6a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a> (const T &amp;t)</td></tr>
<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>
<tr class="separator:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16427aa709505de93ffe0d79136e4251"></a>
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>
<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>
<tr class="separator:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55adae6228bbdc1539695e1ec20e9762"></a>
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>
<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>
<tr class="separator:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:a0e9c45eefd5231c6a7f8e78ab4b3e3c1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>op_type</b> { <br/>
&#160;&#160;<b>reg_succ</b>,
<b>rem_succ</b>,
<b>req_item</b>,
<b>res_item</b>,
<br/>
&#160;&#160;<b>rel_res</b>,
<b>con_res</b>,
<b>put_item</b>,
<b>try_fwd_task</b>
<br/>
}</td></tr>
<tr class="separator:a0e9c45eefd5231c6a7f8e78ab4b3e3c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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,
<b>SUCCEEDED</b>,
<b>FAILED</b>
}</td></tr>
<tr class="separator:a97578c4c0b47aa1e7281d0343f45c6e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2ba7ceb6c4c435c5abc9846a91853e2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2ba7ceb6c4c435c5abc9846a91853e2"></a>
typedef size_t&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
<tr class="separator:ac2ba7ceb6c4c435c5abc9846a91853e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f1a187e32fb9a630a142ef37aeda958"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f1a187e32fb9a630a142ef37aeda958"></a>
typedef <br class="typebreak"/>
internal::aggregating_functor<br class="typebreak"/>
&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>
<tr class="separator:a7f1a187e32fb9a630a142ef37aeda958"><td class="memSeparator" colspan="2">&#160;</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:a2d09326016a31e17acd57f8e6ce58054"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d09326016a31e17acd57f8e6ce58054"></a>
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>
<tr class="separator:a2d09326016a31e17acd57f8e6ce58054"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fde962bed26ee41c370e48bce678320"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fde962bed26ee41c370e48bce678320"></a>
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>
<tr class="separator:a5fde962bed26ee41c370e48bce678320"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19dbfc4065f57efd7375fcc1b259dd9c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19dbfc4065f57efd7375fcc1b259dd9c"></a>
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>
<tr class="separator:a19dbfc4065f57efd7375fcc1b259dd9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8910a497040a4c6f1a6a1fb7a33a8888"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8910a497040a4c6f1a6a1fb7a33a8888"></a>
virtual task *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a8910a497040a4c6f1a6a1fb7a33a8888">forward_task</a> ()</td></tr>
<tr class="memdesc:a8910a497040a4c6f1a6a1fb7a33a8888"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is executed by an enqueued task, the "forwarder". <br/></td></tr>
<tr class="separator:a8910a497040a4c6f1a6a1fb7a33a8888"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa2dd93a1b42e77ccf7e1de0fddf3158"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa2dd93a1b42e77ccf7e1de0fddf3158"></a>
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>
<tr class="memdesc:afa2dd93a1b42e77ccf7e1de0fddf3158"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register successor. <br/></td></tr>
<tr class="separator:afa2dd93a1b42e77ccf7e1de0fddf3158"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46c7f9cd9130036244d4ea8efd74bf22"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46c7f9cd9130036244d4ea8efd74bf22"></a>
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>
<tr class="memdesc:a46c7f9cd9130036244d4ea8efd74bf22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove successor. <br/></td></tr>
<tr class="separator:a46c7f9cd9130036244d4ea8efd74bf22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aa7578ccbd3d5f986869ab8698c037c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3aa7578ccbd3d5f986869ab8698c037c"></a>
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>
<tr class="memdesc:a3aa7578ccbd3d5f986869ab8698c037c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to forward valid items to successors. <br/></td></tr>
<tr class="separator:a3aa7578ccbd3d5f986869ab8698c037c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fe75e82e8dffa7d13fa9e82d9951dba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fe75e82e8dffa7d13fa9e82d9951dba"></a>
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>
<tr class="separator:a2fe75e82e8dffa7d13fa9e82d9951dba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a574bf95b7b06f24bafb13aa586dd2c66"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a574bf95b7b06f24bafb13aa586dd2c66"></a>
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>
<tr class="separator:a574bf95b7b06f24bafb13aa586dd2c66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaea0922cb1344925524d892864f78e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeaea0922cb1344925524d892864f78e0"></a>
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>
<tr class="separator:aeaea0922cb1344925524d892864f78e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f90411a5cc3f5c7c4210f8bb4e73f68"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f90411a5cc3f5c7c4210f8bb4e73f68"></a>
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>
<tr class="separator:a5f90411a5cc3f5c7c4210f8bb4e73f68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7b3eee1ec878f6f0055f6133b233c09"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae7b3eee1ec878f6f0055f6133b233c09"></a>
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>
<tr class="separator:ae7b3eee1ec878f6f0055f6133b233c09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4517c0a58649ea5eb140ab4b786e1ec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4517c0a58649ea5eb140ab4b786e1ec"></a>
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>
<tr class="memdesc:aa4517c0a58649ea5eb140ab4b786e1ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">receive an item, return a task *if possible <br/></td></tr>
<tr class="separator:aa4517c0a58649ea5eb140ab4b786e1ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c02d02bdb7ab20055d2f0aaba8d3c9c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c02d02bdb7ab20055d2f0aaba8d3c9c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
<tr class="separator:a5c02d02bdb7ab20055d2f0aaba8d3c9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4fe0ea40c0f1ed6d109eed8d8bf25ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4fe0ea40c0f1ed6d109eed8d8bf25ee"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
<tr class="separator:aa4fe0ea40c0f1ed6d109eed8d8bf25ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="memitem:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae91eab3e06d4139ac38f143c74fe9eab"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_continue_receiver</b> ()</td></tr>
<tr class="separator:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memSeparator" colspan="2">&#160;</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:ade2fe89be00e023aafb1d3c380762048"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade2fe89be00e023aafb1d3c380762048"></a>
<a class="el" href="a00108.html">internal::round_robin_cache</a>&lt; T, <br class="typebreak"/>
<a class="el" href="a00084.html">null_rw_mutex</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>my_successors</b></td></tr>
<tr class="separator:ade2fe89be00e023aafb1d3c380762048"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a441fb73f0e15aed49945fb7ec9925e9f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a441fb73f0e15aed49945fb7ec9925e9f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>forwarder_busy</b></td></tr>
<tr class="separator:a441fb73f0e15aed49945fb7ec9925e9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc948866a1eb4c7a95b0edc08872d487"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc948866a1eb4c7a95b0edc08872d487"></a>
internal::aggregator<br class="typebreak"/>
&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>
<tr class="separator:adc948866a1eb4c7a95b0edc08872d487"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
<a class="el" href="a00061.html">graph</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
<tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
<a class="el" href="a00063.html">graph_node</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
<tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
<a class="el" href="a00063.html">graph_node</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
<tr class="separator:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:ad66dc7488e0c58eef0d3ae292d900c04"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad66dc7488e0c58eef0d3ae292d900c04"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::forward_task_bypass&lt; buffer_node&lt; T, A &gt; &gt;</b></td></tr>
<tr class="separator:ad66dc7488e0c58eef0d3ae292d900c04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fa999cf286dcad00faeece4cbfa35d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8fa999cf286dcad00faeece4cbfa35d2"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::aggregating_functor&lt; my_class, buffer_operation &gt;</b></td></tr>
<tr class="separator:a8fa999cf286dcad00faeece4cbfa35d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplParams" colspan="2"><a class="anchor" id="abaf9bf74ca5f2854d09f5f07337280eb"></a>
template&lt;typename R , typename B &gt; </td></tr>
<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>
<tr class="separator:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1360e38efe396058978cf3754ad620f5"></a>
template&lt;typename X , typename Y &gt; </td></tr>
<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>
<tr class="separator:a1360e38efe396058978cf3754ad620f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplParams" colspan="2"><a class="anchor" id="acbd9ac2610587a99cd7d43344297cc49"></a>
template&lt;typename X , typename Y &gt; </td></tr>
<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>
<tr class="separator:acbd9ac2610587a99cd7d43344297cc49"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T, typename A = cache_aligned_allocator&lt;T&gt;&gt;<br/>
class tbb::flow::interface7::buffer_node&lt; T, A &gt;</h3>
<p>Forwards messages in arbitrary order. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ab458d9fa2c7d6f39ec62d4027c9da376"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename A = cache_aligned_allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>&lt; T, A &gt;::register_successor </td>
<td>(</td>
<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>
<td class="paramname"><em>r</em>)</td><td></td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds a new successor. </p>
<p>Adds successor r to the list of successors; may forward tasks. </p>
<p>Implements <a class="el" href="a00124.html#a4dac8f53a1f8373c1f3a874b9617e4ec">tbb::flow::interface7::sender&lt; T &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a70d3c1fb1af11deb9b92fa753fa8604c"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename A = cache_aligned_allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>&lt; T, A &gt;::remove_successor </td>
<td>(</td>
<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>
<td class="paramname"><em>r</em>)</td><td></td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Removes a successor. </p>
<p>Removes successor r from the list of successors. It also calls r.remove_predecessor(*this) to remove this node as a predecessor. </p>
<p>Implements <a class="el" href="a00124.html#ac1ae19f49e31c6ca94dcf14732eb7a64">tbb::flow::interface7::sender&lt; T &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a335072bc547c5e9b40f58dfeab525953"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename A = cache_aligned_allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>&lt; T, A &gt;::try_consume </td>
<td>(</td>
<td class="paramname">)</td><td></td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Consumes a reserved item. </p>
<p>true = item is removed from sender and reservation removed </p>
<p>Reimplemented from <a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">tbb::flow::interface7::sender&lt; T &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a175cb77dfbdd0e322097a833a2271c1e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename A = cache_aligned_allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>&lt; T, A &gt;::try_get </td>
<td>(</td>
<td class="paramtype">T &amp;&#160;</td>
<td class="paramname"><em>v</em>)</td><td></td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Request an item from the <a class="el" href="a00027.html" title="Forwards messages in arbitrary order. ">buffer_node</a>. </p>
<p>true = v contains the returned item<br/>
false = no item has been returned </p>
<p>Reimplemented from <a class="el" href="a00124.html#ad50b8ac93e79cbdcd2bba11d35432f2c">tbb::flow::interface7::sender&lt; T &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="aaa3745fd4705345df16fb33954d93e30"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename A = cache_aligned_allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>&lt; T, A &gt;::try_release </td>
<td>(</td>
<td class="paramname">)</td><td></td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Release a reserved item. </p>
<p>true = item has been released and so remains in sender </p>
<p>Reimplemented from <a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">tbb::flow::interface7::sender&lt; T &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a3b12cdebf8cef15b90e3c9cd9e51019f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename A = cache_aligned_allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>&lt; T, A &gt;::try_reserve </td>
<td>(</td>
<td class="paramtype">T &amp;&#160;</td>
<td class="paramname"><em>v</em>)</td><td></td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reserves an item. </p>
<p>false = no item can be reserved<br/>
true = an item is reserved </p>
<p>Reimplemented from <a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">tbb::flow::interface7::sender&lt; T &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a00179.html">flow_graph.h</a></li>
</ul>
</div><!-- contents -->
<hr>
<p></p>
Copyright &copy; 2005-2014 Intel Corporation. All Rights Reserved.
<p></p>
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
registered trademarks or trademarks of Intel Corporation or its
subsidiaries in the United States and other countries.
<p></p>
* Other names and brands may be claimed as the property of others.