<!-- HTML header for doxygen 1.8.17-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Arm NN: src/armnn/layers/StandInLayer.cpp Source File</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>
<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" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.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: 15rem; margin-top: .5rem; margin-left 13px"/>
  <td id="projectalign" style="padding-left: 0.9em;">
   <div id="projectname">
   &#160;<span id="projectnumber">24.05</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_stand_in_layer_8cpp_source.html',''); initResizable(); });
/* @license-end */
</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="headertitle">
<div class="title">StandInLayer.cpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_stand_in_layer_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// Copyright © 2019 Arm Ltd and Contributors. All rights reserved.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// SPDX-License-Identifier: MIT</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_stand_in_layer_8hpp.html">StandInLayer.hpp</a>&quot;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_layer_clone_base_8hpp.html">LayerCloneBase.hpp</a>&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160; </div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacearmnn.html">armnn</a></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;{</div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="classarmnn_1_1_stand_in_layer.html#abd8fa1faf206673892d1d521e676b66e">   12</a></span>&#160;<a class="code" href="classarmnn_1_1_stand_in_layer.html#abd8fa1faf206673892d1d521e676b66e">StandInLayer::StandInLayer</a>(<span class="keyword">const</span> <a class="code" href="structarmnn_1_1_stand_in_descriptor.html">StandInDescriptor</a>&amp; param, <span class="keyword">const</span> <span class="keywordtype">char</span>* name)</div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    : <a class="code" href="classarmnn_1_1_layer_with_parameters.html">LayerWithParameters</a>(param.m_NumInputs, param.m_NumOutputs, <a class="code" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a>::<a class="code" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4a93bca63ecbb003649425dd0e4ba79a99">StandIn</a>, param, name)</div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;{</div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="classarmnn_1_1_stand_in_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">   17</a></span>&#160;std::unique_ptr&lt;IWorkload&gt; <a class="code" href="classarmnn_1_1_stand_in_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">StandInLayer::CreateWorkload</a>(<span class="keyword">const</span> <a class="code" href="classarmnn_1_1_i_workload_factory.html">IWorkloadFactory</a>&amp; factory)<span class="keyword"> const</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <a class="code" href="namespacearmnn.html#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(factory);</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="comment">// This throws in the event that it&#39;s called. We would expect that any backend that</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// &quot;claims&quot; to support the StandInLayer type would actually substitute it with a PrecompiledLayer</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// during graph optimization. There is no interface on the IWorkloadFactory to create a StandInWorkload.</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_exception.html">Exception</a>(<span class="stringliteral">&quot;Stand in layer does not support creating workloads&quot;</span>);</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="classarmnn_1_1_stand_in_layer.html#a7283be538a107c461d94f3e64d5dda42">   26</a></span>&#160;<a class="code" href="classarmnn_1_1_stand_in_layer.html">StandInLayer</a>* <a class="code" href="classarmnn_1_1_stand_in_layer.html#a7283be538a107c461d94f3e64d5dda42">StandInLayer::Clone</a>(<a class="code" href="classarmnn_1_1_graph.html">Graph</a>&amp; graph)<span class="keyword"> const</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keywordflow">return</span> CloneBase&lt;StandInLayer&gt;(graph, <a class="code" href="classarmnn_1_1_layer_with_parameters.html#ad32ac22bc72e28dfd6b466d143c8e262">m_Param</a>, <a class="code" href="classarmnn_1_1_layer.html#a7ddf0cf6f620d59c10e63495ace795d0">GetName</a>());</div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;}</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="classarmnn_1_1_stand_in_layer.html#a65ca562c882ad619684445a1402f415a">   31</a></span>&#160;std::vector&lt;TensorShape&gt; <a class="code" href="classarmnn_1_1_stand_in_layer.html#a65ca562c882ad619684445a1402f415a">StandInLayer::InferOutputShapes</a>(<span class="keyword">const</span> std::vector&lt;TensorShape&gt;&amp; inputShapes)<span class="keyword"> const</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <a class="code" href="namespacearmnn.html#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(inputShapes);</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_exception.html">Exception</a>(<span class="stringliteral">&quot;Stand in layer does not support infering output shapes&quot;</span>);</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;}</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classarmnn_1_1_stand_in_layer.html#a8c8f543d7e9729362c266d12ec169966">   37</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classarmnn_1_1_stand_in_layer.html#a8c8f543d7e9729362c266d12ec169966">StandInLayer::ValidateTensorShapesFromInputs</a>()</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;{</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="comment">// Cannot validate this layer since no implementation details can be known by the framework</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <span class="comment">// so do nothing here.</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;}</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classarmnn_1_1_stand_in_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">   44</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classarmnn_1_1_stand_in_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">StandInLayer::ExecuteStrategy</a>(<a class="code" href="classarmnn_1_1_i_strategy.html">IStrategy</a>&amp; strategy)<span class="keyword"> const</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    strategy.<a class="code" href="classarmnn_1_1_i_strategy.html#ad4f8c9ff973cf6a603d26b56c5b34967">ExecuteStrategy</a>(<span class="keyword">this</span>, <a class="code" href="classarmnn_1_1_layer_with_parameters.html#afa3e8a8f23589b1eaddbe203825bbdcf">GetParameters</a>(), {}, <a class="code" href="classarmnn_1_1_layer.html#a7ddf0cf6f620d59c10e63495ace795d0">GetName</a>());</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;}</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;} <span class="comment">// namespace armnn</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclassarmnn_1_1_i_strategy_html"><div class="ttname"><a href="classarmnn_1_1_i_strategy.html">armnn::IStrategy</a></div><div class="ttdef"><b>Definition:</b> <a href="_i_strategy_8hpp_source.html#l00016">IStrategy.hpp:16</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_layer_with_parameters_html_afa3e8a8f23589b1eaddbe203825bbdcf"><div class="ttname"><a href="classarmnn_1_1_layer_with_parameters.html#afa3e8a8f23589b1eaddbe203825bbdcf">armnn::LayerWithParameters&lt; StandInDescriptor &gt;::GetParameters</a></div><div class="ttdeci">const StandInDescriptor &amp; GetParameters() const override</div><div class="ttdef"><b>Definition:</b> <a href="_layer_with_parameters_8hpp_source.html#l00019">LayerWithParameters.hpp:19</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_layer_with_parameters_html"><div class="ttname"><a href="classarmnn_1_1_layer_with_parameters.html">armnn::LayerWithParameters</a></div><div class="ttdef"><b>Definition:</b> <a href="_layer_with_parameters_8hpp_source.html#l00014">LayerWithParameters.hpp:14</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_layer_html_a7ddf0cf6f620d59c10e63495ace795d0"><div class="ttname"><a href="classarmnn_1_1_layer.html#a7ddf0cf6f620d59c10e63495ace795d0">armnn::Layer::GetName</a></div><div class="ttdeci">const char * GetName() const override</div><div class="ttdoc">Returns the name of the layer.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00332">Layer.hpp:332</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_stand_in_layer_html_abd8fa1faf206673892d1d521e676b66e"><div class="ttname"><a href="classarmnn_1_1_stand_in_layer.html#abd8fa1faf206673892d1d521e676b66e">armnn::StandInLayer::StandInLayer</a></div><div class="ttdeci">StandInLayer(const StandInDescriptor &amp;param, const char *name)</div><div class="ttdoc">Constructor to create a StandInLayer.</div><div class="ttdef"><b>Definition:</b> <a href="_stand_in_layer_8cpp_source.html#l00012">StandInLayer.cpp:12</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_layer_with_parameters_html_ad32ac22bc72e28dfd6b466d143c8e262"><div class="ttname"><a href="classarmnn_1_1_layer_with_parameters.html#ad32ac22bc72e28dfd6b466d143c8e262">armnn::LayerWithParameters&lt; StandInDescriptor &gt;::m_Param</a></div><div class="ttdeci">StandInDescriptor m_Param</div><div class="ttdoc">The parameters for the layer (not including tensor-valued weights etc.).</div><div class="ttdef"><b>Definition:</b> <a href="_layer_with_parameters_8hpp_source.html#l00052">LayerWithParameters.hpp:52</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_stand_in_layer_html_a8c8f543d7e9729362c266d12ec169966"><div class="ttname"><a href="classarmnn_1_1_stand_in_layer.html#a8c8f543d7e9729362c266d12ec169966">armnn::StandInLayer::ValidateTensorShapesFromInputs</a></div><div class="ttdeci">void ValidateTensorShapesFromInputs() override</div><div class="ttdoc">Check if the input tensor shape(s) Does nothing since cannot validate any properties of this layer.</div><div class="ttdef"><b>Definition:</b> <a href="_stand_in_layer_8cpp_source.html#l00037">StandInLayer.cpp:37</a></div></div>
<div class="ttc" id="anamespacearmnn_html_a56943a0946e5f15e5e58054b8e7a04a4a93bca63ecbb003649425dd0e4ba79a99"><div class="ttname"><a href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4a93bca63ecbb003649425dd0e4ba79a99">armnn::LayerType::StandIn</a></div><div class="ttdeci">@ StandIn</div></div>
<div class="ttc" id="aclassarmnn_1_1_i_workload_factory_html"><div class="ttname"><a href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a></div><div class="ttdef"><b>Definition:</b> <a href="_workload_factory_8hpp_source.html#l00022">WorkloadFactory.hpp:22</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_stand_in_layer_html_a65ca562c882ad619684445a1402f415a"><div class="ttname"><a href="classarmnn_1_1_stand_in_layer.html#a65ca562c882ad619684445a1402f415a">armnn::StandInLayer::InferOutputShapes</a></div><div class="ttdeci">std::vector&lt; TensorShape &gt; InferOutputShapes(const std::vector&lt; TensorShape &gt; &amp;inputShapes) const override</div><div class="ttdoc">Empty implementation that throws Exception if called.</div><div class="ttdef"><b>Definition:</b> <a href="_stand_in_layer_8cpp_source.html#l00031">StandInLayer.cpp:31</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_stand_in_layer_html"><div class="ttname"><a href="classarmnn_1_1_stand_in_layer.html">armnn::StandInLayer</a></div><div class="ttdoc">This layer represents an unknown operation in the input graph.</div><div class="ttdef"><b>Definition:</b> <a href="_stand_in_layer_8hpp_source.html#l00014">StandInLayer.hpp:14</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_exception_html"><div class="ttname"><a href="classarmnn_1_1_exception.html">armnn::Exception</a></div><div class="ttdoc">Base class for all ArmNN exceptions so that users can filter to just those.</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00046">Exceptions.hpp:46</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_stand_in_layer_html_a46fc3fdd4b2a5dd6d184e57983cf20bc"><div class="ttname"><a href="classarmnn_1_1_stand_in_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">armnn::StandInLayer::ExecuteStrategy</a></div><div class="ttdeci">void ExecuteStrategy(IStrategy &amp;strategy) const override</div><div class="ttdoc">Apply a visitor to this layer.</div><div class="ttdef"><b>Definition:</b> <a href="_stand_in_layer_8cpp_source.html#l00044">StandInLayer.cpp:44</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_stand_in_layer_html_adfa912d0c4c6c00f1af2cbfa799572b7"><div class="ttname"><a href="classarmnn_1_1_stand_in_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">armnn::StandInLayer::CreateWorkload</a></div><div class="ttdeci">virtual std::unique_ptr&lt; IWorkload &gt; CreateWorkload(const IWorkloadFactory &amp;factory) const override</div><div class="ttdoc">Empty implementation explictly does NOT create a workload.</div><div class="ttdef"><b>Definition:</b> <a href="_stand_in_layer_8cpp_source.html#l00017">StandInLayer.cpp:17</a></div></div>
<div class="ttc" id="astructarmnn_1_1_stand_in_descriptor_html"><div class="ttname"><a href="structarmnn_1_1_stand_in_descriptor.html">armnn::StandInDescriptor</a></div><div class="ttdoc">A StandInDescriptor for the StandIn layer.</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l01281">Descriptors.hpp:1281</a></div></div>
<div class="ttc" id="anamespacearmnn_html_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.html#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.html#l00014">IgnoreUnused.hpp:14</a></div></div>
<div class="ttc" id="anamespacearmnn_html"><div class="ttname"><a href="namespacearmnn.html">armnn</a></div><div class="ttdoc">Copyright (c) 2021 ARM Limited and Contributors.</div><div class="ttdef"><b>Definition:</b> <a href="01__00__quick__start_8dox_source.html#l00006">01_00_quick_start.dox:6</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_stand_in_layer_html_a7283be538a107c461d94f3e64d5dda42"><div class="ttname"><a href="classarmnn_1_1_stand_in_layer.html#a7283be538a107c461d94f3e64d5dda42">armnn::StandInLayer::Clone</a></div><div class="ttdeci">StandInLayer * Clone(Graph &amp;graph) const override</div><div class="ttdoc">Creates a dynamically-allocated copy of this layer.</div><div class="ttdef"><b>Definition:</b> <a href="_stand_in_layer_8cpp_source.html#l00026">StandInLayer.cpp:26</a></div></div>
<div class="ttc" id="anamespacearmnn_html_a56943a0946e5f15e5e58054b8e7a04a4"><div class="ttname"><a href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">armnn::LayerType</a></div><div class="ttdeci">LayerType</div><div class="ttdoc">When adding a new layer, adapt also the LastLayer enum value in the enum class LayerType below.</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00491">Types.hpp:491</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_graph_html"><div class="ttname"><a href="classarmnn_1_1_graph.html">armnn::Graph</a></div><div class="ttdef"><b>Definition:</b> <a href="_graph_8hpp_source.html#l00030">Graph.hpp:30</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_i_strategy_html_ad4f8c9ff973cf6a603d26b56c5b34967"><div class="ttname"><a href="classarmnn_1_1_i_strategy.html#ad4f8c9ff973cf6a603d26b56c5b34967">armnn::IStrategy::ExecuteStrategy</a></div><div class="ttdeci">virtual void ExecuteStrategy(const IConnectableLayer *layer, const armnn::BaseDescriptor &amp;descriptor, const std::vector&lt; armnn::ConstTensor &gt; &amp;constants, const char *name, const armnn::LayerBindingId id=0)=0</div></div>
<div class="ttc" id="a_layer_clone_base_8hpp_html"><div class="ttname"><a href="_layer_clone_base_8hpp.html">LayerCloneBase.hpp</a></div></div>
<div class="ttc" id="a_stand_in_layer_8hpp_html"><div class="ttname"><a href="_stand_in_layer_8hpp.html">StandInLayer.hpp</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e0a84d05c80a2ef4231141dcbbeac5c8.html">armnn</a></li><li class="navelem"><a class="el" href="dir_9da6642ce0fd5a8c83524f1b621275be.html">layers</a></li><li class="navelem"><a class="el" href="_stand_in_layer_8cpp.html">StandInLayer.cpp</a></li>
    <li class="footer">Generated on Thu May 16 2024 09:31:44 for Arm NN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
