<!-- 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: TensorMemory 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_tensor_memory.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-attribs">Public Attributes</a> &#124;
<a href="structarmnn_1_1_tensor_memory-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">TensorMemory Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_memory_manager_8hpp_source.html">MemoryManager.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a7fa2df31ffac52484e0612a31fd4256d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_tensor_memory.html#a7fa2df31ffac52484e0612a31fd4256d">m_Offset</a> {}</td></tr>
<tr class="memdesc:a7fa2df31ffac52484e0612a31fd4256d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of bytes the value is away from the @BufferStorage.m_Buffer.  <a href="structarmnn_1_1_tensor_memory.html#a7fa2df31ffac52484e0612a31fd4256d">More...</a><br /></td></tr>
<tr class="separator:a7fa2df31ffac52484e0612a31fd4256d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0948ebfd3dcfd15456e3306d13d69b95"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_tensor_memory.html#a0948ebfd3dcfd15456e3306d13d69b95">m_OutputSlotId</a> {}</td></tr>
<tr class="memdesc:a0948ebfd3dcfd15456e3306d13d69b95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identifier to be used by the @LoadedNetwork to order the tensors.  <a href="structarmnn_1_1_tensor_memory.html#a0948ebfd3dcfd15456e3306d13d69b95">More...</a><br /></td></tr>
<tr class="separator:a0948ebfd3dcfd15456e3306d13d69b95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2b382076f26f48cd44783cfca2e3642"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_tensor_memory.html#ad2b382076f26f48cd44783cfca2e3642">m_Data</a> = nullptr</td></tr>
<tr class="memdesc:ad2b382076f26f48cd44783cfca2e3642"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the tensor value.  <a href="structarmnn_1_1_tensor_memory.html#ad2b382076f26f48cd44783cfca2e3642">More...</a><br /></td></tr>
<tr class="separator:ad2b382076f26f48cd44783cfca2e3642"><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="_memory_manager_8hpp_source.html#l00019">19</a> of file <a class="el" href="_memory_manager_8hpp_source.html">MemoryManager.hpp</a>.</p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="ad2b382076f26f48cd44783cfca2e3642"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2b382076f26f48cd44783cfca2e3642">&#9670;&nbsp;</a></span>m_Data</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* m_Data = nullptr</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pointer to the tensor value. </p>

<p class="definition">Definition at line <a class="el" href="_memory_manager_8hpp_source.html#l00026">26</a> of file <a class="el" href="_memory_manager_8hpp_source.html">MemoryManager.hpp</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t m_Offset {}</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of bytes the value is away from the @BufferStorage.m_Buffer. </p>

<p class="definition">Definition at line <a class="el" href="_memory_manager_8hpp_source.html#l00022">22</a> of file <a class="el" href="_memory_manager_8hpp_source.html">MemoryManager.hpp</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int m_OutputSlotId {}</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Identifier to be used by the @LoadedNetwork to order the tensors. </p>

<p class="definition">Definition at line <a class="el" href="_memory_manager_8hpp_source.html#l00024">24</a> of file <a class="el" href="_memory_manager_8hpp_source.html">MemoryManager.hpp</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="_memory_manager_8hpp_source.html">MemoryManager.hpp</a></li>
</ul>
</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="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="structarmnn_1_1_tensor_memory.html">TensorMemory</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>
