arm_compute v18.05
[platform/upstream/armcl.git] / documentation / classarm__compute_1_1graph_1_1_i_node.xhtml
index b3d7003..927db22 100644 (file)
@@ -40,7 +40,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Compute Library
-   &#160;<span id="projectnumber">17.12</span>
+   &#160;<span id="projectnumber">18.05</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,8 @@ $(document).ready(function(){initNavTree('classarm__compute_1_1graph_1_1_i_node.
 
 <div class="header">
   <div class="summary">
-<a href="#pub-methods">Public Member Functions</a>  </div>
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#friends">Friends</a>  </div>
   <div class="headertitle">
 <div class="title">INode Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
 </div><!--header-->
@@ -129,21 +130,139 @@ $(document).ready(function(){initNavTree('classarm__compute_1_1graph_1_1_i_node.
 <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:a41ea547ddf32e27b4d3b6cc565ad67d1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a41ea547ddf32e27b4d3b6cc565ad67d1">INode</a> ()</td></tr>
+<tr class="memdesc:a41ea547ddf32e27b4d3b6cc565ad67d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a41ea547ddf32e27b4d3b6cc565ad67d1">More...</a><br /></td></tr>
+<tr class="separator:a41ea547ddf32e27b4d3b6cc565ad67d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1356f0d04912be3ec8d8ce7a2b0cddd2"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a1356f0d04912be3ec8d8ce7a2b0cddd2">~INode</a> ()=default</td></tr>
-<tr class="memdesc:a1356f0d04912be3ec8d8ce7a2b0cddd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual Destructor.  <a href="#a1356f0d04912be3ec8d8ce7a2b0cddd2">More...</a><br /></td></tr>
+<tr class="memdesc:a1356f0d04912be3ec8d8ce7a2b0cddd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a1356f0d04912be3ec8d8ce7a2b0cddd2">More...</a><br /></td></tr>
 <tr class="separator:a1356f0d04912be3ec8d8ce7a2b0cddd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aff59544b2bab30c9a3ce1876515e48df"><td class="memItemLeft" align="right" valign="top">virtual std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1_i_function.xhtml">arm_compute::IFunction</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#aff59544b2bab30c9a3ce1876515e48df">instantiate_node</a> (<a class="el" href="classarm__compute_1_1graph_1_1_graph_context.xhtml">GraphContext</a> &amp;ctx, <a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_object.xhtml">ITensorObject</a> *input, <a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_object.xhtml">ITensorObject</a> *output)=0</td></tr>
-<tr class="memdesc:aff59544b2bab30c9a3ce1876515e48df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to be implemented that instantiates the node.  <a href="#aff59544b2bab30c9a3ce1876515e48df">More...</a><br /></td></tr>
-<tr class="separator:aff59544b2bab30c9a3ce1876515e48df"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4f94409d100ac0a28961a82a5cc31d30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a8d5e69e9a697c2007e241eb413c9833b">TargetHint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a4f94409d100ac0a28961a82a5cc31d30">override_target_hint</a> (<a class="el" href="namespacearm__compute_1_1graph.xhtml#a8d5e69e9a697c2007e241eb413c9833b">TargetHint</a> target_hint) const </td></tr>
-<tr class="memdesc:a4f94409d100ac0a28961a82a5cc31d30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override the existing target hint.  <a href="#a4f94409d100ac0a28961a82a5cc31d30">More...</a><br /></td></tr>
-<tr class="separator:a4f94409d100ac0a28961a82a5cc31d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d98a026d543444099ae32d51d150848"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a6d98a026d543444099ae32d51d150848">INode</a> (const <a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> &amp;)=delete</td></tr>
+<tr class="memdesc:a6d98a026d543444099ae32d51d150848"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent instances of this class from being copied (As this class contains pointers)  <a href="#a6d98a026d543444099ae32d51d150848">More...</a><br /></td></tr>
+<tr class="separator:a6d98a026d543444099ae32d51d150848"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac2f34bc6eaa698b25680f2091dc29170"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#ac2f34bc6eaa698b25680f2091dc29170">operator=</a> (const <a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> &amp;)=delete</td></tr>
+<tr class="memdesc:ac2f34bc6eaa698b25680f2091dc29170"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent instances of this class from being copy assigned (As this class contains pointers)  <a href="#ac2f34bc6eaa698b25680f2091dc29170">More...</a><br /></td></tr>
+<tr class="separator:ac2f34bc6eaa698b25680f2091dc29170"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab926b66a0f1c5bfb4b80f6d56e5edbc9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#ab926b66a0f1c5bfb4b80f6d56e5edbc9">INode</a> (<a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> &amp;&amp;)=default</td></tr>
+<tr class="memdesc:ab926b66a0f1c5bfb4b80f6d56e5edbc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be moved.  <a href="#ab926b66a0f1c5bfb4b80f6d56e5edbc9">More...</a><br /></td></tr>
+<tr class="separator:ab926b66a0f1c5bfb4b80f6d56e5edbc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa85ed20eb40b3a914e78124c89556249"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#aa85ed20eb40b3a914e78124c89556249">operator=</a> (<a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> &amp;&amp;)=default</td></tr>
+<tr class="memdesc:aa85ed20eb40b3a914e78124c89556249"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be move assigned.  <a href="#aa85ed20eb40b3a914e78124c89556249">More...</a><br /></td></tr>
+<tr class="separator:aa85ed20eb40b3a914e78124c89556249"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69f975713069ef48d53ee5eacbd8ae3d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classarm__compute_1_1_status.xhtml">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a69f975713069ef48d53ee5eacbd8ae3d">validate</a> () const </td></tr>
+<tr class="memdesc:a69f975713069ef48d53ee5eacbd8ae3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Validate node.  <a href="#a69f975713069ef48d53ee5eacbd8ae3d">More...</a><br /></td></tr>
+<tr class="separator:a69f975713069ef48d53ee5eacbd8ae3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b2d83e561886647467f86c20ce39bec"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16">NodeType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a6b2d83e561886647467f86c20ce39bec">type</a> () const =0</td></tr>
+<tr class="memdesc:a6b2d83e561886647467f86c20ce39bec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns node's type.  <a href="#a6b2d83e561886647467f86c20ce39bec">More...</a><br /></td></tr>
+<tr class="separator:a6b2d83e561886647467f86c20ce39bec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69a6e8613e2e1b00de98610c2ae6288a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a69a6e8613e2e1b00de98610c2ae6288a">accept</a> (<a class="el" href="classarm__compute_1_1graph_1_1_i_node_visitor.xhtml">INodeVisitor</a> &amp;v)=0</td></tr>
+<tr class="memdesc:a69a6e8613e2e1b00de98610c2ae6288a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accepts a node visitor.  <a href="#a69a6e8613e2e1b00de98610c2ae6288a">More...</a><br /></td></tr>
+<tr class="separator:a69a6e8613e2e1b00de98610c2ae6288a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5edbd8a4a1b75060bb3b49bc0ba2c6b0"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a5edbd8a4a1b75060bb3b49bc0ba2c6b0">forward_descriptors</a> ()=0</td></tr>
+<tr class="memdesc:a5edbd8a4a1b75060bb3b49bc0ba2c6b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forwards descriptor information to outputs if possible.  <a href="#a5edbd8a4a1b75060bb3b49bc0ba2c6b0">More...</a><br /></td></tr>
+<tr class="separator:a5edbd8a4a1b75060bb3b49bc0ba2c6b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98dd474c332ea76a71bd81b790d7e0d9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structarm__compute_1_1graph_1_1_tensor_descriptor.xhtml">TensorDescriptor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a98dd474c332ea76a71bd81b790d7e0d9">configure_output</a> (size_t idx) const =0</td></tr>
+<tr class="memdesc:a98dd474c332ea76a71bd81b790d7e0d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates output configuration.  <a href="#a98dd474c332ea76a71bd81b790d7e0d9">More...</a><br /></td></tr>
+<tr class="separator:a98dd474c332ea76a71bd81b790d7e0d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a37627d5d5bba7f4a8690c71c2ab3cb07"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a37627d5d5bba7f4a8690c71c2ab3cb07">name</a> () const </td></tr>
+<tr class="memdesc:a37627d5d5bba7f4a8690c71c2ab3cb07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns node's name.  <a href="#a37627d5d5bba7f4a8690c71c2ab3cb07">More...</a><br /></td></tr>
+<tr class="separator:a37627d5d5bba7f4a8690c71c2ab3cb07"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac2073f3ae2a49f98a91315ed035f8669"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a56952a8591a9d8481450ae707ae355e7">NodeID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#ac2073f3ae2a49f98a91315ed035f8669">id</a> () const </td></tr>
+<tr class="memdesc:ac2073f3ae2a49f98a91315ed035f8669"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns node's ID.  <a href="#ac2073f3ae2a49f98a91315ed035f8669">More...</a><br /></td></tr>
+<tr class="separator:ac2073f3ae2a49f98a91315ed035f8669"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5332828f81f0c3bc766b90656c9ee631"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a5332828f81f0c3bc766b90656c9ee631">graph</a> () const </td></tr>
+<tr class="memdesc:a5332828f81f0c3bc766b90656c9ee631"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns node's <a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a>.  <a href="#a5332828f81f0c3bc766b90656c9ee631">More...</a><br /></td></tr>
+<tr class="separator:a5332828f81f0c3bc766b90656c9ee631"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff1c67aacd9b499aa083c6ef0b72d0eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#aff1c67aacd9b499aa083c6ef0b72d0eb">graph</a> ()</td></tr>
+<tr class="memdesc:aff1c67aacd9b499aa083c6ef0b72d0eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns node's <a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a>.  <a href="#aff1c67aacd9b499aa083c6ef0b72d0eb">More...</a><br /></td></tr>
+<tr class="separator:aff1c67aacd9b499aa083c6ef0b72d0eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ace781433ede299fb1dc8d0b02667b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a3ace781433ede299fb1dc8d0b02667b9">set_graph</a> (<a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> *g)</td></tr>
+<tr class="memdesc:a3ace781433ede299fb1dc8d0b02667b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the graph that this node is registered to.  <a href="#a3ace781433ede299fb1dc8d0b02667b9">More...</a><br /></td></tr>
+<tr class="separator:a3ace781433ede299fb1dc8d0b02667b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a483b76accbb02199c359bd5cf23dd476"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a483b76accbb02199c359bd5cf23dd476">set_id</a> (<a class="el" href="namespacearm__compute_1_1graph.xhtml#a56952a8591a9d8481450ae707ae355e7">NodeID</a> <a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#ac2073f3ae2a49f98a91315ed035f8669">id</a>)</td></tr>
+<tr class="memdesc:a483b76accbb02199c359bd5cf23dd476"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the node id.  <a href="#a483b76accbb02199c359bd5cf23dd476">More...</a><br /></td></tr>
+<tr class="separator:a483b76accbb02199c359bd5cf23dd476"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeadb909ea02bec78f92ca35ff0ccbaea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#aeadb909ea02bec78f92ca35ff0ccbaea">set_common_node_parameters</a> (<a class="el" href="structarm__compute_1_1graph_1_1_node_params.xhtml">NodeParams</a> common_params)</td></tr>
+<tr class="memdesc:aeadb909ea02bec78f92ca35ff0ccbaea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets common node parameters.  <a href="#aeadb909ea02bec78f92ca35ff0ccbaea">More...</a><br /></td></tr>
+<tr class="separator:aeadb909ea02bec78f92ca35ff0ccbaea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4d8c49b8b04fae8561238b8efb472f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#ab4d8c49b8b04fae8561238b8efb472f5">set_requested_target</a> (<a class="el" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35d">Target</a> target)</td></tr>
+<tr class="memdesc:ab4d8c49b8b04fae8561238b8efb472f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets target preference.  <a href="#ab4d8c49b8b04fae8561238b8efb472f5">More...</a><br /></td></tr>
+<tr class="separator:ab4d8c49b8b04fae8561238b8efb472f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7069f1901ff50cd2ac6ba152cb106058"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a7069f1901ff50cd2ac6ba152cb106058">set_assigned_target</a> (<a class="el" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35d">Target</a> target)</td></tr>
+<tr class="memdesc:a7069f1901ff50cd2ac6ba152cb106058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the final execution target.  <a href="#a7069f1901ff50cd2ac6ba152cb106058">More...</a><br /></td></tr>
+<tr class="separator:a7069f1901ff50cd2ac6ba152cb106058"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a09dab02145c91bb9be20fe98cbedc300"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a09dab02145c91bb9be20fe98cbedc300">set_output_tensor</a> (<a class="el" href="namespacearm__compute_1_1graph.xhtml#a615af95e19b5d9f74d2760183566a9a3">TensorID</a> tid, size_t idx)</td></tr>
+<tr class="memdesc:a09dab02145c91bb9be20fe98cbedc300"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the output tensor of at a given index.  <a href="#a09dab02145c91bb9be20fe98cbedc300">More...</a><br /></td></tr>
+<tr class="separator:a09dab02145c91bb9be20fe98cbedc300"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ef7d7f8403624ac6304035338d6ac93"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="namespacearm__compute_1_1graph.xhtml#a615af95e19b5d9f74d2760183566a9a3">TensorID</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a0ef7d7f8403624ac6304035338d6ac93">inputs</a> () const </td></tr>
+<tr class="memdesc:a0ef7d7f8403624ac6304035338d6ac93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns inputs of the node.  <a href="#a0ef7d7f8403624ac6304035338d6ac93">More...</a><br /></td></tr>
+<tr class="separator:a0ef7d7f8403624ac6304035338d6ac93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44a277f416cba6b9519cea6c0d7b04a4"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="namespacearm__compute_1_1graph.xhtml#a615af95e19b5d9f74d2760183566a9a3">TensorID</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a44a277f416cba6b9519cea6c0d7b04a4">outputs</a> () const </td></tr>
+<tr class="memdesc:a44a277f416cba6b9519cea6c0d7b04a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns outputs of the node.  <a href="#a44a277f416cba6b9519cea6c0d7b04a4">More...</a><br /></td></tr>
+<tr class="separator:a44a277f416cba6b9519cea6c0d7b04a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b9a9aab9410579c7047edee0ec69cac"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="namespacearm__compute_1_1graph.xhtml#abba17a56bbf16c7cbc7acd4aa54abcea">EdgeID</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a5b9a9aab9410579c7047edee0ec69cac">input_edges</a> () const </td></tr>
+<tr class="memdesc:a5b9a9aab9410579c7047edee0ec69cac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns input edge set.  <a href="#a5b9a9aab9410579c7047edee0ec69cac">More...</a><br /></td></tr>
+<tr class="separator:a5b9a9aab9410579c7047edee0ec69cac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a416772314f2c1aa4cd48fbcb0f6025c5"><td class="memItemLeft" align="right" valign="top">const std::set&lt; <a class="el" href="namespacearm__compute_1_1graph.xhtml#abba17a56bbf16c7cbc7acd4aa54abcea">EdgeID</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a416772314f2c1aa4cd48fbcb0f6025c5">output_edges</a> () const </td></tr>
+<tr class="memdesc:a416772314f2c1aa4cd48fbcb0f6025c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns output edge set.  <a href="#a416772314f2c1aa4cd48fbcb0f6025c5">More...</a><br /></td></tr>
+<tr class="separator:a416772314f2c1aa4cd48fbcb0f6025c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0afe1cf0818b2190a446aeaeb0c6d8a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a615af95e19b5d9f74d2760183566a9a3">TensorID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#af0afe1cf0818b2190a446aeaeb0c6d8a">input_id</a> (size_t idx) const </td></tr>
+<tr class="memdesc:af0afe1cf0818b2190a446aeaeb0c6d8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the tensor ID of a given input of the node.  <a href="#af0afe1cf0818b2190a446aeaeb0c6d8a">More...</a><br /></td></tr>
+<tr class="separator:af0afe1cf0818b2190a446aeaeb0c6d8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ae0ada78ab1e36619d0e761b0f56520"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a615af95e19b5d9f74d2760183566a9a3">TensorID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a8ae0ada78ab1e36619d0e761b0f56520">output_id</a> (size_t idx) const </td></tr>
+<tr class="memdesc:a8ae0ada78ab1e36619d0e761b0f56520"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the tensor ID of a given output of the node.  <a href="#a8ae0ada78ab1e36619d0e761b0f56520">More...</a><br /></td></tr>
+<tr class="separator:a8ae0ada78ab1e36619d0e761b0f56520"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6dfcf4c1c7d4cb129fda6393e8c0b21"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1graph_1_1_tensor.xhtml">Tensor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#ac6dfcf4c1c7d4cb129fda6393e8c0b21">input</a> (size_t idx) const </td></tr>
+<tr class="memdesc:ac6dfcf4c1c7d4cb129fda6393e8c0b21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the tensor of a given input of the node.  <a href="#ac6dfcf4c1c7d4cb129fda6393e8c0b21">More...</a><br /></td></tr>
+<tr class="separator:ac6dfcf4c1c7d4cb129fda6393e8c0b21"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a427ac30d0f5274436afbf5c78bc4f644"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1graph_1_1_tensor.xhtml">Tensor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a427ac30d0f5274436afbf5c78bc4f644">output</a> (size_t idx) const </td></tr>
+<tr class="memdesc:a427ac30d0f5274436afbf5c78bc4f644"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the tensor of a given output of the node.  <a href="#a427ac30d0f5274436afbf5c78bc4f644">More...</a><br /></td></tr>
+<tr class="separator:a427ac30d0f5274436afbf5c78bc4f644"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75a9a1f1f3bbe2bb2301617e50e2950e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute_1_1graph.xhtml#abba17a56bbf16c7cbc7acd4aa54abcea">EdgeID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a75a9a1f1f3bbe2bb2301617e50e2950e">input_edge_id</a> (size_t idx) const </td></tr>
+<tr class="memdesc:a75a9a1f1f3bbe2bb2301617e50e2950e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the edge ID of a given input of the node.  <a href="#a75a9a1f1f3bbe2bb2301617e50e2950e">More...</a><br /></td></tr>
+<tr class="separator:a75a9a1f1f3bbe2bb2301617e50e2950e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc95b681efb97109074e5c7d26e1d27e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1graph_1_1_edge.xhtml">Edge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#adc95b681efb97109074e5c7d26e1d27e">input_edge</a> (size_t idx) const </td></tr>
+<tr class="memdesc:adc95b681efb97109074e5c7d26e1d27e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the edge of a given input of the node.  <a href="#adc95b681efb97109074e5c7d26e1d27e">More...</a><br /></td></tr>
+<tr class="separator:adc95b681efb97109074e5c7d26e1d27e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7db9a1c221b414ff11bd4a5b7b97ec8d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a7db9a1c221b414ff11bd4a5b7b97ec8d">num_inputs</a> () const </td></tr>
+<tr class="memdesc:a7db9a1c221b414ff11bd4a5b7b97ec8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns number of inputs of the node.  <a href="#a7db9a1c221b414ff11bd4a5b7b97ec8d">More...</a><br /></td></tr>
+<tr class="separator:a7db9a1c221b414ff11bd4a5b7b97ec8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20ee33c4a581d8d3507dbb898d47d733"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a20ee33c4a581d8d3507dbb898d47d733">num_outputs</a> () const </td></tr>
+<tr class="memdesc:a20ee33c4a581d8d3507dbb898d47d733"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns number of outputs of the node.  <a href="#a20ee33c4a581d8d3507dbb898d47d733">More...</a><br /></td></tr>
+<tr class="separator:a20ee33c4a581d8d3507dbb898d47d733"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adddbd97837525a4714e28c955b3d98a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35d">Target</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#adddbd97837525a4714e28c955b3d98a4">requested_target</a> () const </td></tr>
+<tr class="memdesc:adddbd97837525a4714e28c955b3d98a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns requested target for this node.  <a href="#adddbd97837525a4714e28c955b3d98a4">More...</a><br /></td></tr>
+<tr class="separator:adddbd97837525a4714e28c955b3d98a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a72123a16315dde55dade52690642f56c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35d">Target</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a72123a16315dde55dade52690642f56c">assigned_target</a> () const </td></tr>
+<tr class="memdesc:a72123a16315dde55dade52690642f56c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns assigned target for this node.  <a href="#a72123a16315dde55dade52690642f56c">More...</a><br /></td></tr>
+<tr class="separator:a72123a16315dde55dade52690642f56c"><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:afab89afd724f1b07b1aaad6bdc61c47a"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#afab89afd724f1b07b1aaad6bdc61c47a">Graph</a></td></tr>
+<tr class="separator:afab89afd724f1b07b1aaad6bdc61c47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>Node interface. </p>
 
-<p>Definition at line <a class="el" href="_i_node_8h_source.xhtml#l00039">39</a> of file <a class="el" href="_i_node_8h_source.xhtml">INode.h</a>.</p>
+<p>Definition at line <a class="el" href="_i_node_8h_source.xhtml#l00044">44</a> of file <a class="el" href="_i_node_8h_source.xhtml">INode.h</a>.</p>
 </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a41ea547ddf32e27b4d3b6cc565ad67d1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+
+</div>
+</div>
 <a class="anchor" id="a1356f0d04912be3ec8d8ce7a2b0cddd2"></a>
 <div class="memitem">
 <div class="memproto">
@@ -165,12 +284,11 @@ Public Member Functions</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Virtual Destructor. </p>
+<p>Destructor. </p>
 
 </div>
 </div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a class="anchor" id="aff59544b2bab30c9a3ce1876515e48df"></a>
+<a class="anchor" id="a6d98a026d543444099ae32d51d150848"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -178,27 +296,150 @@ Public Member Functions</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">virtual std::unique_ptr&lt;<a class="el" href="classarm__compute_1_1_i_function.xhtml">arm_compute::IFunction</a>&gt; instantiate_node </td>
+          <td class="memname"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_graph_context.xhtml">GraphContext</a> &amp;&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> &amp;&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Prevent instances of this class from being copied (As this class contains pointers) </p>
+
+</div>
+</div>
+<a class="anchor" id="ab926b66a0f1c5bfb4b80f6d56e5edbc9"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
+          <td class="memname"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> &amp;&amp;&#160;</td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_object.xhtml">ITensorObject</a> *&#160;</td>
-          <td class="paramname"><em>input</em>, </td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">default</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Allow instances of this class to be moved. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a69a6e8613e2e1b00de98610c2ae6288a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
+          <td class="memname">virtual void accept </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_i_node_visitor.xhtml">INodeVisitor</a> &amp;&#160;</td>
+          <td class="paramname"><em>v</em></td><td>)</td>
           <td></td>
-          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_object.xhtml">ITensorObject</a> *&#160;</td>
-          <td class="paramname"><em>output</em>&#160;</td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Accepts a node visitor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>Visitor to accept </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implemented in <a class="el" href="classarm__compute_1_1graph_1_1_convolution_layer_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">ConvolutionLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_depthwise_convolution_layer_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">DepthwiseConvolutionLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_split_layer_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">SplitLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_depth_concatenate_layer_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">DepthConcatenateLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_fully_connected_layer_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">FullyConnectedLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_eltwise_layer_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">EltwiseLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_batch_normalization_layer_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">BatchNormalizationLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_pooling_layer_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">PoolingLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_activation_layer_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">ActivationLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_normalization_layer_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">NormalizationLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_softmax_layer_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">SoftmaxLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_const_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">ConstNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_input_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">InputNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_reshape_layer_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">ReshapeLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_flatten_layer_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">FlattenLayerNode</a>, and <a class="el" href="classarm__compute_1_1graph_1_1_output_node.xhtml#adb48b5745c55605a2d4ec6f665bb7f3f">OutputNode</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a72123a16315dde55dade52690642f56c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35d">Target</a> assigned_target </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns assigned target for this node. </p>
+<dl class="section return"><dt>Returns</dt><dd>Assigned target of this node </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a98dd474c332ea76a71bd81b790d7e0d9"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="structarm__compute_1_1graph_1_1_tensor_descriptor.xhtml">TensorDescriptor</a> configure_output </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>idx</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculates output configuration. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>Output index to configure</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Output descriptor configuration </dd></dl>
+
+<p>Implemented in <a class="el" href="classarm__compute_1_1graph_1_1_convolution_layer_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">ConvolutionLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_depthwise_convolution_layer_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">DepthwiseConvolutionLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_split_layer_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">SplitLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_depth_concatenate_layer_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">DepthConcatenateLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_fully_connected_layer_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">FullyConnectedLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_eltwise_layer_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">EltwiseLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_batch_normalization_layer_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">BatchNormalizationLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_pooling_layer_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">PoolingLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_activation_layer_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">ActivationLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_normalization_layer_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">NormalizationLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_softmax_layer_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">SoftmaxLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_const_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">ConstNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_input_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">InputNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_reshape_layer_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">ReshapeLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_flatten_layer_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">FlattenLayerNode</a>, and <a class="el" href="classarm__compute_1_1graph_1_1_output_node.xhtml#a3f18a7449b9d7fc9e5fec212b8e61710">OutputNode</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5edbd8a4a1b75060bb3b49bc0ba2c6b0"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
         <tr>
+          <td class="memname">virtual bool forward_descriptors </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
   </td>
@@ -208,43 +449,679 @@ Public Member Functions</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
-<p>Interface to be implemented that instantiates the node. </p>
+<p>Forwards descriptor information to outputs if possible. </p>
+<dl class="section return"><dt>Returns</dt><dd>True if descriptor information could be forwarded otherwise false </dd></dl>
+
+<p>Implemented in <a class="el" href="classarm__compute_1_1graph_1_1_convolution_layer_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">ConvolutionLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_depthwise_convolution_layer_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">DepthwiseConvolutionLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_split_layer_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">SplitLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_depth_concatenate_layer_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">DepthConcatenateLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_fully_connected_layer_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">FullyConnectedLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_eltwise_layer_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">EltwiseLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_batch_normalization_layer_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">BatchNormalizationLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_pooling_layer_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">PoolingLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_activation_layer_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">ActivationLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_normalization_layer_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">NormalizationLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_softmax_layer_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">SoftmaxLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_const_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">ConstNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_input_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">InputNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_reshape_layer_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">ReshapeLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_flatten_layer_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">FlattenLayerNode</a>, and <a class="el" href="classarm__compute_1_1graph_1_1_output_node.xhtml#a6272eb9643b239dd0c1e7adde3ee093b">OutputNode</a>.</p>
+
+<p>Referenced by <a class="el" href="_graph_8h_source.xhtml#l00230">Graph::add_node()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5332828f81f0c3bc766b90656c9ee631"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a>* graph </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns node's <a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a>. </p>
+<dl class="section return"><dt>Returns</dt><dd>Node's graph </dd></dl>
+
+<p>Referenced by <a class="el" href="_b_f_s_8h_source.xhtml#l00045">arm_compute::graph::detail::all_inputs_are_visited()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aff1c67aacd9b499aa083c6ef0b72d0eb"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a>* graph </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns node's <a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a>. </p>
+<dl class="section return"><dt>Returns</dt><dd>Node's graph </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ac2073f3ae2a49f98a91315ed035f8669"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a56952a8591a9d8481450ae707ae355e7">NodeID</a> id </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns node's ID. </p>
+<dl class="section return"><dt>Returns</dt><dd>Node's ID </dd></dl>
+
+<p>Referenced by <a class="el" href="_edge_8h_source.xhtml#l00076">Edge::consumer_id()</a>, <a class="el" href="_edge_8h_source.xhtml#l00068">Edge::producer_id()</a>, <a class="el" href="_validate_helpers_8h_source.xhtml#l00067">arm_compute::graph::backends::detail::validate_convolution_layer()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00132">arm_compute::graph::backends::detail::validate_depthwise_convolution_layer()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac6dfcf4c1c7d4cb129fda6393e8c0b21"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarm__compute_1_1graph_1_1_tensor.xhtml">Tensor</a>* input </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>idx</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns the tensor of a given input of the node. </p>
+<dl class="section note"><dt>Note</dt><dd>Precondition : idx should be a valid input index</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>Index of the node input</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1graph_1_1_tensor.xhtml" title="Tensor object. ">Tensor</a> of the requested input </dd></dl>
+
+<p>Referenced by <a class="el" href="_validate_helpers_8h_source.xhtml#l00067">arm_compute::graph::backends::detail::validate_convolution_layer()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00132">arm_compute::graph::backends::detail::validate_depthwise_convolution_layer()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adc95b681efb97109074e5c7d26e1d27e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarm__compute_1_1graph_1_1_edge.xhtml">Edge</a>* input_edge </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>idx</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns the edge of a given input of the node. </p>
+<dl class="section note"><dt>Note</dt><dd>Precondition : idx should be a valid input index</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>Index of the node input</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1graph_1_1_edge.xhtml" title="Graph Edge. ">Edge</a> of the requested input </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a75a9a1f1f3bbe2bb2301617e50e2950e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="namespacearm__compute_1_1graph.xhtml#abba17a56bbf16c7cbc7acd4aa54abcea">EdgeID</a> input_edge_id </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>idx</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns the edge ID of a given input of the node. </p>
+<dl class="section note"><dt>Note</dt><dd>Precondition : idx should be a valid input index</dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a> context to be used </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input tensor of the node </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>Output tensor of the node </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>Index of the node input</td></tr>
   </table>
   </dd>
 </dl>
+<dl class="section return"><dt>Returns</dt><dd>EdgeID of the requested input </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a5b9a9aab9410579c7047edee0ec69cac"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::vector&lt;<a class="el" href="namespacearm__compute_1_1graph.xhtml#abba17a56bbf16c7cbc7acd4aa54abcea">EdgeID</a>&gt;&amp; input_edges </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>Implemented in <a class="el" href="classarm__compute_1_1graph_1_1_convolution_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">ConvolutionLayer</a>, <a class="el" href="classarm__compute_1_1graph_1_1_branch_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">BranchLayer</a>, <a class="el" href="classarm__compute_1_1graph_1_1_depthwise_convolution_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">DepthwiseConvolutionLayer</a>, <a class="el" href="classarm__compute_1_1graph_1_1_batch_normalization_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">BatchNormalizationLayer</a>, <a class="el" href="classarm__compute_1_1graph_1_1_fully_connected_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">FullyConnectedLayer</a>, <a class="el" href="classarm__compute_1_1graph_1_1_dequantization_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">DequantizationLayer</a>, <a class="el" href="classarm__compute_1_1graph_1_1_depth_convert_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">DepthConvertLayer</a>, <a class="el" href="classarm__compute_1_1graph_1_1_l2_normalize_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">L2NormalizeLayer</a>, <a class="el" href="classarm__compute_1_1graph_1_1_activation_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">ActivationLayer</a>, <a class="el" href="classarm__compute_1_1graph_1_1_normalization_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">NormalizationLayer</a>, <a class="el" href="classarm__compute_1_1graph_1_1_pooling_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">PoolingLayer</a>, <a class="el" href="classarm__compute_1_1graph_1_1_reshape_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">ReshapeLayer</a>, <a class="el" href="classarm__compute_1_1graph_1_1_flatten_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">FlattenLayer</a>, <a class="el" href="classarm__compute_1_1graph_1_1_quantization_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">QuantizationLayer</a>, <a class="el" href="classarm__compute_1_1graph_1_1_floor_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">FloorLayer</a>, and <a class="el" href="classarm__compute_1_1graph_1_1_softmax_layer.xhtml#aefee70b3377d4ece56de05e1dff00dd8">SoftmaxLayer</a>.</p>
+<p>Returns input edge set. </p>
+<dl class="section return"><dt>Returns</dt><dd>Set of input edges </dd></dl>
+
+<p>Referenced by <a class="el" href="_b_f_s_8h_source.xhtml#l00045">arm_compute::graph::detail::all_inputs_are_visited()</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a4f94409d100ac0a28961a82a5cc31d30"></a>
+<a class="anchor" id="af0afe1cf0818b2190a446aeaeb0c6d8a"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a8d5e69e9a697c2007e241eb413c9833b">TargetHint</a> override_target_hint </td>
+          <td class="memname"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a615af95e19b5d9f74d2760183566a9a3">TensorID</a> input_id </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a8d5e69e9a697c2007e241eb413c9833b">TargetHint</a>&#160;</td>
-          <td class="paramname"><em>target_hint</em></td><td>)</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>idx</em></td><td>)</td>
           <td> const</td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Override the existing target hint. </p>
-<dl class="section note"><dt>Note</dt><dd>If the input is DONT_CARE then the method has to pick a technology, else it can accept the hint or override it (But not with DONT_CARE)</dd></dl>
+<p>Returns the tensor ID of a given input of the node. </p>
+<dl class="section note"><dt>Note</dt><dd>Precondition : idx should be a valid input index</dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">target_hint</td><td>Target hint to be considered</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>Index of the node input</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>The updated target hint </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>TensorID of the requested input </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a0ef7d7f8403624ac6304035338d6ac93"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::vector&lt;<a class="el" href="namespacearm__compute_1_1graph.xhtml#a615af95e19b5d9f74d2760183566a9a3">TensorID</a>&gt;&amp; inputs </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns inputs of the node. </p>
+<dl class="section return"><dt>Returns</dt><dd>Inputs of the node </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a37627d5d5bba7f4a8690c71c2ab3cb07"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string name </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns node's name. </p>
+<dl class="section return"><dt>Returns</dt><dd>Node name </dd></dl>
+
+<p>Referenced by <a class="el" href="_validate_helpers_8h_source.xhtml#l00067">arm_compute::graph::backends::detail::validate_convolution_layer()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00132">arm_compute::graph::backends::detail::validate_depthwise_convolution_layer()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7db9a1c221b414ff11bd4a5b7b97ec8d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">size_t num_inputs </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns number of inputs of the node. </p>
+<dl class="section return"><dt>Returns</dt><dd>Number of inputs </dd></dl>
+
+<p>Referenced by <a class="el" href="_validate_helpers_8h_source.xhtml#l00067">arm_compute::graph::backends::detail::validate_convolution_layer()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00132">arm_compute::graph::backends::detail::validate_depthwise_convolution_layer()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a20ee33c4a581d8d3507dbb898d47d733"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">size_t num_outputs </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns number of outputs of the node. </p>
+<dl class="section return"><dt>Returns</dt><dd>Number of outputs </dd></dl>
+
+<p>Referenced by <a class="el" href="_validate_helpers_8h_source.xhtml#l00067">arm_compute::graph::backends::detail::validate_convolution_layer()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00132">arm_compute::graph::backends::detail::validate_depthwise_convolution_layer()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac2f34bc6eaa698b25680f2091dc29170"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a>&amp; operator= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> &amp;&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Prevent instances of this class from being copy assigned (As this class contains pointers) </p>
+
+</div>
+</div>
+<a class="anchor" id="aa85ed20eb40b3a914e78124c89556249"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a>&amp; operator= </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> &amp;&amp;&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">default</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Allow instances of this class to be move assigned. </p>
+
+</div>
+</div>
+<a class="anchor" id="a427ac30d0f5274436afbf5c78bc4f644"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarm__compute_1_1graph_1_1_tensor.xhtml">Tensor</a>* output </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>idx</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns the tensor of a given output of the node. </p>
+<dl class="section note"><dt>Note</dt><dd>Precondition : idx should be a valid output index</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>Index of the node output</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1graph_1_1_tensor.xhtml" title="Tensor object. ">Tensor</a> of the requested output </dd></dl>
+
+<p>Referenced by <a class="el" href="_validate_helpers_8h_source.xhtml#l00067">arm_compute::graph::backends::detail::validate_convolution_layer()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a416772314f2c1aa4cd48fbcb0f6025c5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::set&lt;<a class="el" href="namespacearm__compute_1_1graph.xhtml#abba17a56bbf16c7cbc7acd4aa54abcea">EdgeID</a>&gt;&amp; output_edges </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns output edge set. </p>
+<dl class="section return"><dt>Returns</dt><dd>Set of output edges </dd></dl>
+
+<p>Referenced by <a class="el" href="_b_f_s_8h_source.xhtml#l00077">arm_compute::graph::bfs()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8ae0ada78ab1e36619d0e761b0f56520"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a615af95e19b5d9f74d2760183566a9a3">TensorID</a> output_id </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>idx</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns the tensor ID of a given output of the node. </p>
+<dl class="section note"><dt>Note</dt><dd>Precondition : idx should be a valid output index</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>Index of the node output</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>TensorID of the requested output </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a44a277f416cba6b9519cea6c0d7b04a4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::vector&lt;<a class="el" href="namespacearm__compute_1_1graph.xhtml#a615af95e19b5d9f74d2760183566a9a3">TensorID</a>&gt;&amp; outputs </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns outputs of the node. </p>
+<dl class="section return"><dt>Returns</dt><dd>Outputs of the node </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="adddbd97837525a4714e28c955b3d98a4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35d">Target</a> requested_target </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns requested target for this node. </p>
+<dl class="section return"><dt>Returns</dt><dd>Requested execution target </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a7069f1901ff50cd2ac6ba152cb106058"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void set_assigned_target </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35d">Target</a>&#160;</td>
+          <td class="paramname"><em>target</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Sets the final execution target. </p>
+<dl class="section note"><dt>Note</dt><dd><a class="el" href="classarm__compute_1_1graph_1_1_graph_manager.xhtml" title="Graph manager class. ">GraphManager</a> might change this target</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>Final execution target </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aeadb909ea02bec78f92ca35ff0ccbaea"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void set_common_node_parameters </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structarm__compute_1_1graph_1_1_node_params.xhtml">NodeParams</a>&#160;</td>
+          <td class="paramname"><em>common_params</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Sets common node parameters. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">common_params</td><td>Common node parameters to set </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a3ace781433ede299fb1dc8d0b02667b9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void set_graph </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> *&#160;</td>
+          <td class="paramname"><em>g</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Sets the graph that this node is registered to. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>Back reference to graph </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="_graph_8h_source.xhtml#l00230">Graph::add_node()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a483b76accbb02199c359bd5cf23dd476"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void set_id </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a56952a8591a9d8481450ae707ae355e7">NodeID</a>&#160;</td>
+          <td class="paramname"><em>id</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Sets the node id. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>Node id </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="_graph_8h_source.xhtml#l00230">Graph::add_node()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a09dab02145c91bb9be20fe98cbedc300"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void set_output_tensor </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a615af95e19b5d9f74d2760183566a9a3">TensorID</a>&#160;</td>
+          <td class="paramname"><em>tid</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>idx</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Sets the output tensor of at a given index. </p>
+<dl class="section note"><dt>Note</dt><dd>All edges will get updated</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">tid</td><td><a class="el" href="classarm__compute_1_1graph_1_1_tensor.xhtml" title="Tensor object. ">Tensor</a> ID </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>Output index </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ab4d8c49b8b04fae8561238b8efb472f5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void set_requested_target </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35d">Target</a>&#160;</td>
+          <td class="paramname"><em>target</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Sets target preference. </p>
+<dl class="section note"><dt>Note</dt><dd>This is not the target that the graph executor might choose, its just an indication</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>Target preference </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a6b2d83e561886647467f86c20ce39bec"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16">NodeType</a> type </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns node's type. </p>
+<dl class="section return"><dt>Returns</dt><dd>Node's type </dd></dl>
+
+<p>Implemented in <a class="el" href="classarm__compute_1_1graph_1_1_convolution_layer_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">ConvolutionLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_depthwise_convolution_layer_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">DepthwiseConvolutionLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_split_layer_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">SplitLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_depth_concatenate_layer_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">DepthConcatenateLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_fully_connected_layer_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">FullyConnectedLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_eltwise_layer_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">EltwiseLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_batch_normalization_layer_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">BatchNormalizationLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_pooling_layer_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">PoolingLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_activation_layer_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">ActivationLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_normalization_layer_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">NormalizationLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_softmax_layer_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">SoftmaxLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_const_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">ConstNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_input_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">InputNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_reshape_layer_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">ReshapeLayerNode</a>, <a class="el" href="classarm__compute_1_1graph_1_1_flatten_layer_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">FlattenLayerNode</a>, and <a class="el" href="classarm__compute_1_1graph_1_1_output_node.xhtml#a65d13dc93e2df5e8ab725263cf9f4ac5">OutputNode</a>.</p>
+
+<p>Referenced by <a class="el" href="_graph_8h_source.xhtml#l00230">Graph::add_node()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a69f975713069ef48d53ee5eacbd8ae3d"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> validate </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Validate node. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> containing any errors </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classarm__compute_1_1graph_1_1_split_layer_node.xhtml#a600f574bc2868a148f9a746d16774dbd">SplitLayerNode</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Friends And Related Function Documentation</h2>
+<a class="anchor" id="afab89afd724f1b07b1aaad6bdc61c47a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class <a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="_i_node_8h_source.xhtml#l00239">239</a> of file <a class="el" href="_i_node_8h_source.xhtml">INode.h</a>.</p>
 
 </div>
 </div>
@@ -257,7 +1134,7 @@ Public Member Functions</h2></td></tr>
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="namespacearm__compute_1_1graph.xhtml">graph</a></li><li class="navelem"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a></li>
-    <li class="footer">Generated on Thu Dec 14 2017 23:48:37 for Compute Library by
+    <li class="footer">Generated on Wed May 23 2018 11:36:43 for Compute Library by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
   </ul>