<!-- Copyright (c) 2020 ARM Limited. -->
<!--                                 -->
<!-- SPDX-License-Identifier: MIT    -->
<!--                                 -->
<!-- HTML header for doxygen 1.8.13-->
<!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.13"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ArmNN: Graph::LayerInGraph&lt; OutputLayer &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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">20.02</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classarmnn_1_1_graph_1_1_layer_in_graph_3_01_output_layer_01_4.xhtml','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classarmnn_1_1_graph_1_1_layer_in_graph_3_01_output_layer_01_4-members.xhtml">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Graph::LayerInGraph&lt; OutputLayer &gt; Class Template Reference<span class="mlabels"><span class="mlabel">final</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Outputs add/remove their binding id to m_OutputIds in the graph.  
 <a href="classarmnn_1_1_graph_1_1_layer_in_graph_3_01_output_layer_01_4.xhtml#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_graph_8hpp_source.xhtml">Graph.hpp</a>&gt;</code></p>

<p>Inherits Graph::LayerInGraphBase&lt; LayerT &gt;.</p>
<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:a738be94d0baec5ceab8bee31fcb85dbd"><td class="memTemplParams" colspan="2">template&lt;typename... Args&gt; </td></tr>
<tr class="memitem:a738be94d0baec5ceab8bee31fcb85dbd"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_graph_1_1_layer_in_graph_3_01_output_layer_01_4.xhtml#a738be94d0baec5ceab8bee31fcb85dbd">LayerInGraph</a> (<a class="el" href="classarmnn_1_1_graph.xhtml">Graph</a> &amp;graph, Args &amp;&amp;... args)</td></tr>
<tr class="separator:a738be94d0baec5ceab8bee31fcb85dbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcf7e3e1fd008dab68b6354393063243"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_graph_1_1_layer_in_graph_3_01_output_layer_01_4.xhtml#afcf7e3e1fd008dab68b6354393063243">~LayerInGraph</a> () override</td></tr>
<tr class="separator:afcf7e3e1fd008dab68b6354393063243"><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;&gt;<br />
class armnn::Graph::LayerInGraph&lt; OutputLayer &gt;</h3>

<p>Outputs add/remove their binding id to m_OutputIds in the graph. </p>

<p class="definition">Definition at line <a class="el" href="_graph_8hpp_source.xhtml#l00365">365</a> of file <a class="el" href="_graph_8hpp_source.xhtml">Graph.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a738be94d0baec5ceab8bee31fcb85dbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a738be94d0baec5ceab8bee31fcb85dbd">&#9670;&nbsp;</a></span>LayerInGraph()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">LayerInGraph </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarmnn_1_1_graph.xhtml">Graph</a> &amp;&#160;</td>
          <td class="paramname"><em>graph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Args &amp;&amp;...&#160;</td>
          <td class="paramname"><em>args</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_graph_8hpp_source.xhtml#l00369">369</a> of file <a class="el" href="_graph_8hpp_source.xhtml">Graph.hpp</a>.</p>

<p class="reference">References <a class="el" href="_graph_8hpp_source.xhtml#l00073">Graph::InputLayersAccessor::m_Graph</a>.</p>
<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        : LayerInGraphBase&lt;OutputLayer&gt;(graph,</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;                                        <span class="comment">// Always add to the back of the outputs.</span></div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;                                        graph.end(),</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;                                        std::forward&lt;Args&gt;(args)...)</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    {</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">bool</span> isNewId = m_Graph-&gt;m_OutputIds.emplace(GetBindingId()).second;</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;        <span class="keywordflow">if</span> (!isNewId)</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;        {</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;            <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">&quot;A layer already exists with the specified id&quot;</span>);</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;        }</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="afcf7e3e1fd008dab68b6354393063243"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcf7e3e1fd008dab68b6354393063243">&#9670;&nbsp;</a></span>~LayerInGraph()</h2>

<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="classarmnn_1_1_graph_1_1_layer_in_graph_3_01_output_layer_01_4.xhtml#a738be94d0baec5ceab8bee31fcb85dbd">LayerInGraph</a> </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">override</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_graph_8hpp_source.xhtml#l00381">381</a> of file <a class="el" href="_graph_8hpp_source.xhtml">Graph.hpp</a>.</p>

<p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>, and <a class="el" href="_graph_8hpp_source.xhtml#l00073">Graph::InputLayersAccessor::m_Graph</a>.</p>
<div class="fragment"><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    {</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">size_t</span> numErased = m_Graph-&gt;m_OutputIds.erase(GetBindingId());</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;        <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(numErased);</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;        BOOST_ASSERT(numErased == 1);</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/armnn/<a class="el" href="_graph_8hpp_source.xhtml">Graph.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacearmnn.xhtml">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_graph.xhtml">Graph</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_graph_1_1_layer_in_graph_3_01_output_layer_01_4.xhtml">LayerInGraph&lt; OutputLayer &gt;</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:18 for ArmNN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
