<!-- 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: src/armnnOnnxParser/OnnxParser.cpp File 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('_onnx_parser_8cpp.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="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a>  </div>
  <div class="headertitle">
<div class="title">OnnxParser.cpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_onnx_parser_8hpp_source.xhtml">OnnxParser.hpp</a>&quot;</code><br />
<code>#include &lt;<a class="el" href="_descriptors_8hpp_source.xhtml">armnn/Descriptors.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="_utils_8hpp_source.xhtml">armnn/Utils.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="_verification_helpers_8hpp_source.xhtml">VerificationHelpers.hpp</a>&gt;</code><br />
<code>#include &lt;boost/format.hpp&gt;</code><br />
<code>#include &lt;boost/numeric/conversion/cast.hpp&gt;</code><br />
<code>#include &lt;google/protobuf/text_format.h&gt;</code><br />
<code>#include &lt;google/protobuf/io/zero_copy_stream_impl.h&gt;</code><br />
<code>#include &lt;numeric&gt;</code><br />
</div>
<p><a href="_onnx_parser_8cpp_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacearmnn_onnx_parser"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn_onnx_parser.xhtml">armnnOnnxParser</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a71cae957feb9162183d6f62fd549ffe1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_onnx_parser_8cpp.xhtml#a71cae957feb9162183d6f62fd549ffe1">CHECK_VALID_DATATYPE</a>(NODE,  TENSOR,  ACTUAL, ...)&#160;&#160;&#160;CheckValidDataType({__VA_ARGS__}, ACTUAL, #__VA_ARGS__, NODE, TENSOR, <a class="el" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>())</td></tr>
<tr class="separator:a71cae957feb9162183d6f62fd549ffe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5426a7adb280d1739cc6d66fe9ac1b9c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_onnx_parser_8cpp.xhtml#a5426a7adb280d1739cc6d66fe9ac1b9c">STR_LIST</a>(...)&#160;&#160;&#160;StrTypeListPair(#__VA_ARGS__, {__VA_ARGS__})</td></tr>
<tr class="separator:a5426a7adb280d1739cc6d66fe9ac1b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e987f9d4f46b35c9b1ff0cc950dc5b1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_onnx_parser_8cpp.xhtml#a0e987f9d4f46b35c9b1ff0cc950dc5b1">VALID_INPUTS</a>(NODE,  VALID_INPUTS)</td></tr>
<tr class="separator:a0e987f9d4f46b35c9b1ff0cc950dc5b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a71cae957feb9162183d6f62fd549ffe1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71cae957feb9162183d6f62fd549ffe1">&#9670;&nbsp;</a></span>CHECK_VALID_DATATYPE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CHECK_VALID_DATATYPE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">NODE, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TENSOR, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ACTUAL, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;CheckValidDataType({__VA_ARGS__}, ACTUAL, #__VA_ARGS__, NODE, TENSOR, <a class="el" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>())</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_onnx_parser_8cpp_source.xhtml#l00048">48</a> of file <a class="el" href="_onnx_parser_8cpp_source.xhtml">OnnxParser.cpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_onnx_parser_8cpp_source.xhtml#l00584">OnnxParser::CreateNetworkFromString()</a>.</p>

</div>
</div>
<a id="a5426a7adb280d1739cc6d66fe9ac1b9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5426a7adb280d1739cc6d66fe9ac1b9c">&#9670;&nbsp;</a></span>STR_LIST</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define STR_LIST</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em></td><td>)</td>
          <td>&#160;&#160;&#160;StrTypeListPair(#__VA_ARGS__, {__VA_ARGS__})</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_onnx_parser_8cpp_source.xhtml#l00052">52</a> of file <a class="el" href="_onnx_parser_8cpp_source.xhtml">OnnxParser.cpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_onnx_parser_8cpp_source.xhtml#l00584">OnnxParser::CreateNetworkFromString()</a>.</p>

</div>
</div>
<a id="a0e987f9d4f46b35c9b1ff0cc950dc5b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e987f9d4f46b35c9b1ff0cc950dc5b1">&#9670;&nbsp;</a></span>VALID_INPUTS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VALID_INPUTS</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">NODE, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">VALID_INPUTS&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">OnnxParser::ValidateInputs(NODE, \</div><div class="line">                               <a class="code" href="_onnx_parser_8cpp.xhtml#a0e987f9d4f46b35c9b1ff0cc950dc5b1">VALID_INPUTS</a>, \</div><div class="line">                               <a class="code" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>())</div><div class="ttc" id="_onnx_parser_8cpp_xhtml_a0e987f9d4f46b35c9b1ff0cc950dc5b1"><div class="ttname"><a href="_onnx_parser_8cpp.xhtml#a0e987f9d4f46b35c9b1ff0cc950dc5b1">VALID_INPUTS</a></div><div class="ttdeci">#define VALID_INPUTS(NODE, VALID_INPUTS)</div><div class="ttdef"><b>Definition:</b> <a href="_onnx_parser_8cpp_source.xhtml#l00382">OnnxParser.cpp:382</a></div></div>
<div class="ttc" id="_exceptions_8hpp_xhtml_aa3be76aec4ce713822a5ea1ecbb7bc61"><div class="ttname"><a href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a></div><div class="ttdeci">#define CHECK_LOCATION()</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.xhtml#l00192">Exceptions.hpp:192</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="_onnx_parser_8cpp_source.xhtml#l00382">382</a> of file <a class="el" href="_onnx_parser_8cpp_source.xhtml">OnnxParser.cpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_onnx_parser_8cpp_source.xhtml#l00584">OnnxParser::CreateNetworkFromString()</a>.</p>

</div>
</div>
</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="dir_68267d1309a1af8e8297ef4c3efbcdba.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_29e3193d5087607956cb928081b12830.xhtml">armnnOnnxParser</a></li><li class="navelem"><a class="el" href="_onnx_parser_8cpp.xhtml">OnnxParser.cpp</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:14 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>
