<!-- 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: TypesAreEqual Struct 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('structarmnn_1_1_types_are_equal.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="structarmnn_1_1_types_are_equal-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">TypesAreEqual Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_layer_support_rules_8hpp_source.html">LayerSupportRules.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for TypesAreEqual:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="structarmnn_1_1_types_are_equal__inherit__graph.svg" width="128" height="112"><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 TypesAreEqual:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="structarmnn_1_1_types_are_equal__coll__graph.svg" width="128" height="112"><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:a020454384d14ca21eabf01a41380166d"><td class="memTemplParams" colspan="2">template&lt;typename ... Ts&gt; </td></tr>
<tr class="memitem:a020454384d14ca21eabf01a41380166d"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_types_are_equal.html#a020454384d14ca21eabf01a41380166d">TypesAreEqual</a> (const Ts &amp;... ts)</td></tr>
<tr class="separator:a020454384d14ca21eabf01a41380166d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_structarmnn_1_1_rule"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structarmnn_1_1_rule')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="structarmnn_1_1_rule.html">Rule</a></td></tr>
<tr class="memitem:ac07d93c2c80e51349f3dec89a2e45c84 inherit pub_methods_structarmnn_1_1_rule"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_rule.html#ac07d93c2c80e51349f3dec89a2e45c84">operator()</a> () const</td></tr>
<tr class="separator:ac07d93c2c80e51349f3dec89a2e45c84 inherit pub_methods_structarmnn_1_1_rule"><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 pub_attribs_structarmnn_1_1_rule"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structarmnn_1_1_rule')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="structarmnn_1_1_rule.html">Rule</a></td></tr>
<tr class="memitem:a56ff3471540bd0e390495d3537db42e6 inherit pub_attribs_structarmnn_1_1_rule"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_rule.html#a56ff3471540bd0e390495d3537db42e6">m_Res</a> = true</td></tr>
<tr class="separator:a56ff3471540bd0e390495d3537db42e6 inherit pub_attribs_structarmnn_1_1_rule"><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 class="definition">Definition at line <a class="el" href="_layer_support_rules_8hpp_source.html#l00071">71</a> of file <a class="el" href="_layer_support_rules_8hpp_source.html">LayerSupportRules.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a020454384d14ca21eabf01a41380166d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a020454384d14ca21eabf01a41380166d">&#9670;&nbsp;</a></span>TypesAreEqual()</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="structarmnn_1_1_types_are_equal.html">TypesAreEqual</a> </td>
          <td>(</td>
          <td class="paramtype">const Ts &amp;...&#160;</td>
          <td class="paramname"><em>ts</em></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="_layer_support_rules_8hpp_source.html#l00074">74</a> of file <a class="el" href="_layer_support_rules_8hpp_source.html">LayerSupportRules.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    {</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <a class="code" href="structarmnn_1_1_rule.html#a56ff3471540bd0e390495d3537db42e6">m_Res</a> = <a class="code" href="namespacearmnn.html#a5980f7b42f4df041efebdc6ae242f686">AllTypesAreEqualImpl</a>(ts...);</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00058">armnn::AllTypesAreEqualImpl()</a>, and <a class="el" href="_layer_support_rules_8hpp_source.html#l00054">Rule::m_Res</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>src/backends/backendsCommon/<a class="el" href="_layer_support_rules_8hpp_source.html">LayerSupportRules.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="astructarmnn_1_1_rule_html_a56ff3471540bd0e390495d3537db42e6"><div class="ttname"><a href="structarmnn_1_1_rule.html#a56ff3471540bd0e390495d3537db42e6">armnn::Rule::m_Res</a></div><div class="ttdeci">bool m_Res</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00054">LayerSupportRules.hpp:54</a></div></div>
<div class="ttc" id="anamespacearmnn_html_a5980f7b42f4df041efebdc6ae242f686"><div class="ttname"><a href="namespacearmnn.html#a5980f7b42f4df041efebdc6ae242f686">armnn::AllTypesAreEqualImpl</a></div><div class="ttdeci">bool AllTypesAreEqualImpl(T)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00058">LayerSupportRules.hpp:58</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="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="structarmnn_1_1_types_are_equal.html">TypesAreEqual</a></li>
    <li class="footer">Generated on Thu May 16 2024 09:31:59 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>
