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.
 
 
 
 

214 lines
19 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::source_node&lt; Output &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="a00126.html">source_node</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="a00315.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">tbb::flow::interface7::source_node&lt; Output &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>An executable node that acts as a source, i.e. it has no predecessors.
<a href="a00126.html#details">More...</a></p>
<p><code>#include &lt;flow_graph.h&gt;</code></p>
<div class="dynheader">
Inheritance diagram for tbb::flow::interface7::source_node&lt; Output &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="a00126.png" usemap="#tbb::flow::interface7::source_node&lt; Output &gt;_map" alt=""/>
<map id="tbb::flow::interface7::source_node&lt; Output &gt;_map" name="tbb::flow::interface7::source_node&lt; Output &gt;_map">
<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,262,80"/>
<area href="a00124.html" alt="tbb::flow::interface7::sender&lt; Output &gt;" shape="rect" coords="272,56,534,80"/>
</map>
</div></div>
<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:a0308ffc2e5c24739cd85e769ec8a8f5f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0308ffc2e5c24739cd85e769ec8a8f5f"></a>
typedef Output&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#a0308ffc2e5c24739cd85e769ec8a8f5f">output_type</a></td></tr>
<tr class="memdesc:a0308ffc2e5c24739cd85e769ec8a8f5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of the output message, which is complete. <br/></td></tr>
<tr class="separator:a0308ffc2e5c24739cd85e769ec8a8f5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae354d135ba9aceb6ca41464fff027666"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae354d135ba9aceb6ca41464fff027666"></a>
typedef <a class="el" href="a00106.html">receiver</a>&lt; Output &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#ae354d135ba9aceb6ca41464fff027666">successor_type</a></td></tr>
<tr class="memdesc:ae354d135ba9aceb6ca41464fff027666"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of successors of this node. <br/></td></tr>
<tr class="separator:ae354d135ba9aceb6ca41464fff027666"><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; Output &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 Output&#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; Output &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:a5730a4677f5bfdf6ff6e45e31a249d37"><td class="memTemplParams" colspan="2"><a class="anchor" id="a5730a4677f5bfdf6ff6e45e31a249d37"></a>
template&lt;typename Body &gt; </td></tr>
<tr class="memitem:a5730a4677f5bfdf6ff6e45e31a249d37"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#a5730a4677f5bfdf6ff6e45e31a249d37">source_node</a> (<a class="el" href="a00061.html">graph</a> &amp;g, Body body, bool is_active=true)</td></tr>
<tr class="memdesc:a5730a4677f5bfdf6ff6e45e31a249d37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for a node with a successor. <br/></td></tr>
<tr class="separator:a5730a4677f5bfdf6ff6e45e31a249d37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa365130109912d4cdd4534a0cb1d92bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa365130109912d4cdd4534a0cb1d92bd"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#aa365130109912d4cdd4534a0cb1d92bd">source_node</a> (const <a class="el" href="a00126.html">source_node</a> &amp;src)</td></tr>
<tr class="memdesc:aa365130109912d4cdd4534a0cb1d92bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br/></td></tr>
<tr class="separator:aa365130109912d4cdd4534a0cb1d92bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ce12e348e121b9f4dffda9d1035c490"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ce12e348e121b9f4dffda9d1035c490"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#a5ce12e348e121b9f4dffda9d1035c490">~source_node</a> ()</td></tr>
<tr class="memdesc:a5ce12e348e121b9f4dffda9d1035c490"><td class="mdescLeft">&#160;</td><td class="mdescRight">The destructor. <br/></td></tr>
<tr class="separator:a5ce12e348e121b9f4dffda9d1035c490"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee939f57a984576e945a71f476af3b81"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee939f57a984576e945a71f476af3b81"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
<tr class="separator:aee939f57a984576e945a71f476af3b81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf1627cf40dc62fa456fbf23bbcd2efa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf1627cf40dc62fa456fbf23bbcd2efa"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#abf1627cf40dc62fa456fbf23bbcd2efa">register_successor</a> (<a class="el" href="a00106.html">receiver</a>&lt; <a class="el" href="a00126.html#a0308ffc2e5c24739cd85e769ec8a8f5f">output_type</a> &gt; &amp;r)</td></tr>
<tr class="memdesc:abf1627cf40dc62fa456fbf23bbcd2efa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new successor to this node. <br/></td></tr>
<tr class="separator:abf1627cf40dc62fa456fbf23bbcd2efa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97c80882ddbdfdcf50761e606f231123"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97c80882ddbdfdcf50761e606f231123"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#a97c80882ddbdfdcf50761e606f231123">remove_successor</a> (<a class="el" href="a00106.html">receiver</a>&lt; <a class="el" href="a00126.html#a0308ffc2e5c24739cd85e769ec8a8f5f">output_type</a> &gt; &amp;r)</td></tr>
<tr class="memdesc:a97c80882ddbdfdcf50761e606f231123"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a successor from this node. <br/></td></tr>
<tr class="separator:a97c80882ddbdfdcf50761e606f231123"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a038c6b2b406d496244617a2d6dc01581"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a038c6b2b406d496244617a2d6dc01581"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#a038c6b2b406d496244617a2d6dc01581">try_get</a> (<a class="el" href="a00126.html#a0308ffc2e5c24739cd85e769ec8a8f5f">output_type</a> &amp;v)</td></tr>
<tr class="memdesc:a038c6b2b406d496244617a2d6dc01581"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request an item from the node. <br/></td></tr>
<tr class="separator:a038c6b2b406d496244617a2d6dc01581"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabb0d505d684d173b1a2c976bf0781a6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aabb0d505d684d173b1a2c976bf0781a6"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#aabb0d505d684d173b1a2c976bf0781a6">try_reserve</a> (<a class="el" href="a00126.html#a0308ffc2e5c24739cd85e769ec8a8f5f">output_type</a> &amp;v)</td></tr>
<tr class="memdesc:aabb0d505d684d173b1a2c976bf0781a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserves an item. <br/></td></tr>
<tr class="separator:aabb0d505d684d173b1a2c976bf0781a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a309c65a2d0208a1072f7e852198d461d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#a309c65a2d0208a1072f7e852198d461d">try_release</a> ()</td></tr>
<tr class="memdesc:a309c65a2d0208a1072f7e852198d461d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release a reserved item. <a href="#a309c65a2d0208a1072f7e852198d461d">More...</a><br/></td></tr>
<tr class="separator:a309c65a2d0208a1072f7e852198d461d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad38a58c2f8f74f4c5cf72a2625ac26bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad38a58c2f8f74f4c5cf72a2625ac26bf"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#ad38a58c2f8f74f4c5cf72a2625ac26bf">try_consume</a> ()</td></tr>
<tr class="memdesc:ad38a58c2f8f74f4c5cf72a2625ac26bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Consumes a reserved item. <br/></td></tr>
<tr class="separator:ad38a58c2f8f74f4c5cf72a2625ac26bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67264c4564abefbf14c0d587c6fe2857"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67264c4564abefbf14c0d587c6fe2857"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#a67264c4564abefbf14c0d587c6fe2857">activate</a> ()</td></tr>
<tr class="memdesc:a67264c4564abefbf14c0d587c6fe2857"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activates a node that was created in the inactive state. <br/></td></tr>
<tr class="separator:a67264c4564abefbf14c0d587c6fe2857"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44b05598b8e9636ed328b07dcfe40e09"><td class="memTemplParams" colspan="2"><a class="anchor" id="a44b05598b8e9636ed328b07dcfe40e09"></a>
template&lt;typename Body &gt; </td></tr>
<tr class="memitem:a44b05598b8e9636ed328b07dcfe40e09"><td class="memTemplItemLeft" align="right" valign="top">Body&#160;</td><td class="memTemplItemRight" valign="bottom"><b>copy_function_object</b> ()</td></tr>
<tr class="separator:a44b05598b8e9636ed328b07dcfe40e09"><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>
</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:a1874ab9048214245bff7b26c0d9e814b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1874ab9048214245bff7b26c0d9e814b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#a1874ab9048214245bff7b26c0d9e814b">reset</a> ()</td></tr>
<tr class="memdesc:a1874ab9048214245bff7b26c0d9e814b"><td class="mdescLeft">&#160;</td><td class="mdescRight">resets the node to its initial state <br/></td></tr>
<tr class="separator:a1874ab9048214245bff7b26c0d9e814b"><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:a5cb5b39a66ec0c37e20f8e17e7cfda9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5cb5b39a66ec0c37e20f8e17e7cfda9a"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::source_task_bypass&lt; source_node&lt; output_type &gt; &gt;</b></td></tr>
<tr class="separator:a5cb5b39a66ec0c37e20f8e17e7cfda9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></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>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename Output&gt;<br/>
class tbb::flow::interface7::source_node&lt; Output &gt;</h3>
<p>An executable node that acts as a source, i.e. it has no predecessors. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a309c65a2d0208a1072f7e852198d461d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Output &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00126.html">tbb::flow::interface7::source_node</a>&lt; Output &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, dest must request or reserve future items </p>
<p>Reimplemented from <a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">tbb::flow::interface7::sender&lt; Output &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.