<!-- 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: MultiTypedWorkload&lt; QueueDescriptor, InputDataType, OutputDataType &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>
<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('classarmnn_1_1_multi_typed_workload.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="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classarmnn_1_1_multi_typed_workload-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">MultiTypedWorkload&lt; QueueDescriptor, InputDataType, OutputDataType &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_workload_8hpp_source.html">Workload.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for MultiTypedWorkload&lt; QueueDescriptor, InputDataType, OutputDataType &gt;:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classarmnn_1_1_multi_typed_workload__inherit__graph.svg" width="1006" height="379"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for MultiTypedWorkload&lt; QueueDescriptor, InputDataType, OutputDataType &gt;:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classarmnn_1_1_multi_typed_workload__coll__graph.svg" width="271" height="232"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<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:ab020f6e4ccf7b3e8b3c0a88dccf89d50"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_multi_typed_workload.html#ab020f6e4ccf7b3e8b3c0a88dccf89d50">MultiTypedWorkload</a> (const <a class="el" href="structarmnn_1_1_queue_descriptor.html">QueueDescriptor</a> &amp;descriptor, const <a class="el" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> &amp;info)</td></tr>
<tr class="separator:ab020f6e4ccf7b3e8b3c0a88dccf89d50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classarmnn_1_1_base_workload"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarmnn_1_1_base_workload')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarmnn_1_1_base_workload.html">BaseWorkload&lt; QueueDescriptor &gt;</a></td></tr>
<tr class="memitem:af2ef420610280dc5a661cd3d4836d5a2 inherit pub_methods_classarmnn_1_1_base_workload"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_base_workload.html#af2ef420610280dc5a661cd3d4836d5a2">BaseWorkload</a> (const <a class="el" href="structarmnn_1_1_queue_descriptor.html">QueueDescriptor</a> &amp;descriptor, const <a class="el" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> &amp;info)</td></tr>
<tr class="separator:af2ef420610280dc5a661cd3d4836d5a2 inherit pub_methods_classarmnn_1_1_base_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a163c04b26f9804eafc598a047128f887 inherit pub_methods_classarmnn_1_1_base_workload"><td class="memItemLeft" align="right" valign="top">virtual const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_base_workload.html#a163c04b26f9804eafc598a047128f887">GetName</a> () const override</td></tr>
<tr class="separator:a163c04b26f9804eafc598a047128f887 inherit pub_methods_classarmnn_1_1_base_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1c43d025fc90382d7aff7a500937e2c inherit pub_methods_classarmnn_1_1_base_workload"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_base_workload.html#ae1c43d025fc90382d7aff7a500937e2c">ExecuteAsync</a> (<a class="el" href="structarmnn_1_1experimental_1_1_execution_data.html">ExecutionData</a> &amp;executionData) override</td></tr>
<tr class="separator:ae1c43d025fc90382d7aff7a500937e2c inherit pub_methods_classarmnn_1_1_base_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81627f96ba06d76e147f7d392a8117ed inherit pub_methods_classarmnn_1_1_base_workload"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_base_workload.html#a81627f96ba06d76e147f7d392a8117ed">PostAllocationConfigure</a> () override</td></tr>
<tr class="separator:a81627f96ba06d76e147f7d392a8117ed inherit pub_methods_classarmnn_1_1_base_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a965cf380c7adf547d0f14b3f6d1da249 inherit pub_methods_classarmnn_1_1_base_workload"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structarmnn_1_1_queue_descriptor.html">QueueDescriptor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_base_workload.html#a965cf380c7adf547d0f14b3f6d1da249">GetData</a> () const</td></tr>
<tr class="separator:a965cf380c7adf547d0f14b3f6d1da249 inherit pub_methods_classarmnn_1_1_base_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaff95a48875d8fb4a616352906660ca9 inherit pub_methods_classarmnn_1_1_base_workload"><td class="memItemLeft" align="right" valign="top">arm::pipe::ProfilingGuid&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_base_workload.html#aaff95a48875d8fb4a616352906660ca9">GetGuid</a> () const final</td></tr>
<tr class="separator:aaff95a48875d8fb4a616352906660ca9 inherit pub_methods_classarmnn_1_1_base_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c326c344355d8423217e9431781f2ee inherit pub_methods_classarmnn_1_1_base_workload"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_base_workload.html#a0c326c344355d8423217e9431781f2ee">SupportsTensorHandleReplacement</a> () const override</td></tr>
<tr class="separator:a0c326c344355d8423217e9431781f2ee inherit pub_methods_classarmnn_1_1_base_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0a67f8179ddb997dda0070a6661f837 inherit pub_methods_classarmnn_1_1_base_workload"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_base_workload.html#ab0a67f8179ddb997dda0070a6661f837">ReplaceInputTensorHandle</a> (<a class="el" href="classarmnn_1_1_i_tensor_handle.html">ITensorHandle</a> *tensorHandle, unsigned int slot) override</td></tr>
<tr class="separator:ab0a67f8179ddb997dda0070a6661f837 inherit pub_methods_classarmnn_1_1_base_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc08590544f05c641d21c724aedf26dd inherit pub_methods_classarmnn_1_1_base_workload"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_base_workload.html#acc08590544f05c641d21c724aedf26dd">ReplaceOutputTensorHandle</a> (<a class="el" href="classarmnn_1_1_i_tensor_handle.html">ITensorHandle</a> *tensorHandle, unsigned int slot) override</td></tr>
<tr class="separator:acc08590544f05c641d21c724aedf26dd inherit pub_methods_classarmnn_1_1_base_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classarmnn_1_1_i_workload"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarmnn_1_1_i_workload')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarmnn_1_1_i_workload.html">IWorkload</a></td></tr>
<tr class="memitem:a69c83c02ae8de866bc7a46c49e69c1ba inherit pub_methods_classarmnn_1_1_i_workload"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_workload.html#a69c83c02ae8de866bc7a46c49e69c1ba">~IWorkload</a> ()</td></tr>
<tr class="separator:a69c83c02ae8de866bc7a46c49e69c1ba inherit pub_methods_classarmnn_1_1_i_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72ae00e6604850c8798c5e0d825ee7e4 inherit pub_methods_classarmnn_1_1_i_workload"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_workload.html#a72ae00e6604850c8798c5e0d825ee7e4">Execute</a> () const =0</td></tr>
<tr class="separator:a72ae00e6604850c8798c5e0d825ee7e4 inherit pub_methods_classarmnn_1_1_i_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab81312bd5e64cbae2803de9f243bdb32 inherit pub_methods_classarmnn_1_1_i_workload"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_workload.html#ab81312bd5e64cbae2803de9f243bdb32">RegisterDebugCallback</a> (const <a class="el" href="namespacearmnn.html#a15f3ad9b5e4e3d46b0a6dda246a7bc28">DebugCallbackFunction</a> &amp;)</td></tr>
<tr class="separator:ab81312bd5e64cbae2803de9f243bdb32 inherit pub_methods_classarmnn_1_1_i_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d2834d1029217934f504e3e59579081 inherit pub_methods_classarmnn_1_1_i_workload"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classarmnn_1_1_optional.html">armnn::Optional</a>&lt; <a class="el" href="structarmnn_1_1_memory_requirements.html">armnn::MemoryRequirements</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_workload.html#a2d2834d1029217934f504e3e59579081">GetMemoryRequirements</a> ()</td></tr>
<tr class="separator:a2d2834d1029217934f504e3e59579081 inherit pub_methods_classarmnn_1_1_i_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_attribs_classarmnn_1_1_base_workload"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classarmnn_1_1_base_workload')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classarmnn_1_1_base_workload.html">BaseWorkload&lt; QueueDescriptor &gt;</a></td></tr>
<tr class="memitem:afb8d2c8817c75de9d01a4c0e0d5c160b inherit pro_attribs_classarmnn_1_1_base_workload"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structarmnn_1_1_queue_descriptor.html">QueueDescriptor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a></td></tr>
<tr class="separator:afb8d2c8817c75de9d01a4c0e0d5c160b inherit pro_attribs_classarmnn_1_1_base_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c2b3ca86eec6c199364671af267cd2c inherit pro_attribs_classarmnn_1_1_base_workload"><td class="memItemLeft" align="right" valign="top">const arm::pipe::ProfilingGuid&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_base_workload.html#a4c2b3ca86eec6c199364671af267cd2c">m_Guid</a></td></tr>
<tr class="separator:a4c2b3ca86eec6c199364671af267cd2c inherit pro_attribs_classarmnn_1_1_base_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77806f89d6edb879d3f6c6b6b18168a7 inherit pro_attribs_classarmnn_1_1_base_workload"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_base_workload.html#a77806f89d6edb879d3f6c6b6b18168a7">m_Name</a></td></tr>
<tr class="separator:a77806f89d6edb879d3f6c6b6b18168a7 inherit pro_attribs_classarmnn_1_1_base_workload"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename QueueDescriptor, armnn::DataType InputDataType, armnn::DataType OutputDataType&gt;<br />
class armnn::MultiTypedWorkload&lt; QueueDescriptor, InputDataType, OutputDataType &gt;</h3>


<p class="definition">Definition at line <a class="el" href="_workload_8hpp_source.html#l00160">160</a> of file <a class="el" href="_workload_8hpp_source.html">Workload.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ab020f6e4ccf7b3e8b3c0a88dccf89d50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab020f6e4ccf7b3e8b3c0a88dccf89d50">&#9670;&nbsp;</a></span>MultiTypedWorkload()</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_multi_typed_workload.html">MultiTypedWorkload</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structarmnn_1_1_queue_descriptor.html">QueueDescriptor</a> &amp;&#160;</td>
          <td class="paramname"><em>descriptor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> &amp;&#160;</td>
          <td class="paramname"><em>info</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="_workload_8hpp_source.html#l00164">164</a> of file <a class="el" href="_workload_8hpp_source.html">Workload.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        : BaseWorkload&lt;QueueDescriptor&gt;(descriptor, info)</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    {</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        <span class="keywordflow">if</span> (std::all_of(<a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_InputTensorInfos.begin(),</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;                                     <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_InputTensorInfos.end(),</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;                                     [&amp;](<span class="keyword">auto</span> it){</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;                                         return it.GetDataType() == InputDataType;</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                                     }) == <span class="keyword">false</span>)</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        {</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;            <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_exception.html">armnn::Exception</a>(<span class="stringliteral">&quot;Trying to create workload with incorrect type&quot;</span>);</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        }</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        <span class="keywordflow">if</span> (std::all_of(<a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_OutputTensorInfos.begin(),</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;                                     <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_OutputTensorInfos.end(),</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                                     [&amp;](<span class="keyword">auto</span> it){</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;                                         return it.GetDataType() == OutputDataType;</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                                     }) == <span class="keyword">false</span>)</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        {</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;            <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_exception.html">armnn::Exception</a>(<span class="stringliteral">&quot;Trying to create workload with incorrect type&quot;</span>);</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        }</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">armnn::info</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/armnn/backends/<a class="el" href="_workload_8hpp_source.html">Workload.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<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="anamespacearmnn_html_a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c"><div class="ttname"><a href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">armnn::BoostLogSeverityMapping::info</a></div><div class="ttdeci">@ info</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="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_multi_typed_workload.html">MultiTypedWorkload</a></li>
    <li class="footer">Generated on Thu May 16 2024 09:31:57 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>
