<!-- 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('classarmnn_1_1_neon_tensor_handle.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">NeonTensorHandle Member List</div>  </div>
</div><!--header-->
<div class="contents">

<p>This is the complete list of members for <a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a>, including all inherited members.</p>
<table class="directory">
  <tr class="even"><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#ac4c894e28b763523748ba2bb718d569d">Allocate</a>() override</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
  <tr><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#ad3e63bb560123889f1ec98e40c5f8279">GetDataType</a>() const override</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#aa1d3334a17a9f136fe65ed833fbf68b4">GetImportFlags</a>() const override</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
  <tr><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#ab6c52b35388890f2c563afbebfb456a6">GetParent</a>() const override</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#a8e8d2fbabcac19f9e12779080ddff54e">GetShape</a>() const override</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
  <tr><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#a967f220393d291f71dabce0c06bf9b6c">GetStrides</a>() const override</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#ab18b27bb871248e2ba3120eb557dcfe4">GetTensor</a>() override</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
  <tr><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#a6fde23d85d96f26ac7c33b69a945a922">GetTensor</a>() const override</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#a468bf13728df2ac9ec772733047ff136">Import</a>(void *memory, MemorySource source) override</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
  <tr><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#a19aa18d78d5ac31e3a3c8f782f0e8606">Manage</a>() override</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#acc3fcce7a100cc3b64247519f22e37fc">Map</a>(bool) const override</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
  <tr><td class="entry"><a class="el" href="classarmnn_1_1_i_tensor_handle.xhtml#a270c8f844df649b9b0599c1e4db44cd3">armnn::IAclTensorHandle::Map</a>(bool blocking=true)</td><td class="entry"><a class="el" href="classarmnn_1_1_i_tensor_handle.xhtml">ITensorHandle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#aec1964e898a1dfc9c6be2f5589c0ee33">NeonTensorHandle</a>(const TensorInfo &amp;tensorInfo)</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#a8be757c370ed96fdb90168e2ff0216d6">NeonTensorHandle</a>(const TensorInfo &amp;tensorInfo, DataLayout dataLayout, MemorySourceFlags importFlags=static_cast&lt; MemorySourceFlags &gt;(MemorySource::Malloc))</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#a9b8adcb578eb6f9ad63c21b1fa43bb14">SetImportEnabledFlag</a>(bool importEnabledFlag)</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#acd3ddbebcda4124217925ae36d551441">SetImportFlags</a>(MemorySourceFlags importFlags)</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#af9c82a4633347a36ad10c8bfab384396">SetMemoryGroup</a>(const std::shared_ptr&lt; arm_compute::IMemoryGroup &gt; &amp;memoryGroup) override</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
  <tr><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml#a88ab6decf78c152e746b7d8dc2dd931f">Unmap</a>() const override</td><td class="entry"><a class="el" href="classarmnn_1_1_neon_tensor_handle.xhtml">NeonTensorHandle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classarmnn_1_1_i_tensor_handle.xhtml#ab2be1412c91842a072ad94759f52033e">armnn::IAclTensorHandle::Unmap</a>()</td><td class="entry"><a class="el" href="classarmnn_1_1_i_tensor_handle.xhtml">ITensorHandle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr><td class="entry"><a class="el" href="classarmnn_1_1_i_tensor_handle.xhtml#aff95f063e2b8041b3d0e4b4dc0e3821d">~ITensorHandle</a>()</td><td class="entry"><a class="el" href="classarmnn_1_1_i_tensor_handle.xhtml">ITensorHandle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></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:19 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>
