<!-- 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: Member List</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('structarmnn_utils_1_1_parser_prototxt_fixture.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="headertitle">
<div class="title">ParserPrototxtFixture&lt; TParser &gt; Member List</div>  </div>
</div><!--header-->
<div class="contents">

<p>This is the complete list of members for <a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a>, including all inherited members.</p>
<table class="directory">
  <tr class="even"><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#a0b81fa34e5ca505b9880755f702fafe7">m_NetworkIdentifier</a></td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#a8d1364ba09a94795405d6f70c11a79b8">m_Parser</a></td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#a5ca0f757171382fbf7fa5b05b447b024">m_Prototext</a></td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#aefd699eb0838261fbe9770d511f63f24">m_Runtime</a></td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#a2f8365158b7c75e43897fbe804b7fc4f">m_SingleInputName</a></td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#add32b4d209a5b5d6ea6db94b9894ad75">m_SingleOutputName</a></td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#a2da3f1bce243a9798902db85891fd733">m_SingleOutputShape</a></td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#a5c8880d78e094c184ccdbb5a32ec257a">ParserPrototxtFixture</a>()</td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#a2f52e74218733c22d3605233ef985ad4">RunComparisonTest</a>(const std::map&lt; std::string, std::vector&lt; float &gt;&gt; &amp;inputData, const std::map&lt; std::string, std::vector&lt; uint8_t &gt;&gt; &amp;expectedOutputData)</td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#ac3387a6894de9ea024d19391004a3b9f">RunTest</a>(const std::vector&lt; float &gt; &amp;inputData, const std::vector&lt; float &gt; &amp;expectedOutputData)</td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#a99d60b479a3ce38c09a5663898bfc216">RunTest</a>(const std::map&lt; std::string, std::vector&lt; float &gt;&gt; &amp;inputData, const std::map&lt; std::string, std::vector&lt; T &gt;&gt; &amp;expectedOutputData)</td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#a500efa02714545912d65fab4e48f2920">Setup</a>(const std::map&lt; std::string, armnn::TensorShape &gt; &amp;inputShapes, const std::vector&lt; std::string &gt; &amp;requestedOutputs)</td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#a769404f2985a027a0d626fedfd4de1e9">Setup</a>()</td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#a831d13496f4d19677209c61edfa9eca5">SetupOptimizedNetwork</a>(const std::map&lt; std::string, armnn::TensorShape &gt; &amp;inputShapes, const std::vector&lt; std::string &gt; &amp;requestedOutputs)</td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#a2bb4ea256fbbf6d53068ca93bb4bc95c">SetupSingleInputSingleOutput</a>(const std::string &amp;inputName, const std::string &amp;outputName)</td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#a7c3ab4f16dbc19e127766bae14824a60">SetupSingleInputSingleOutput</a>(const armnn::TensorShape &amp;inputTensorShape, const std::string &amp;inputName, const std::string &amp;outputName)</td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml#aacdd35e3ab19837fb66d97ae6d14fce9">SetupSingleInputSingleOutput</a>(const armnn::TensorShape &amp;inputTensorShape, const armnn::TensorShape &amp;outputTensorShape, const std::string &amp;inputName, const std::string &amp;outputName)</td><td class="entry"><a class="el" href="structarmnn_utils_1_1_parser_prototxt_fixture.xhtml">ParserPrototxtFixture&lt; TParser &gt;</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:21 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>
