<!-- HTML header for doxygen 1.8.15-->
<!-- Remember to use version doxygen 1.8.15 +-->
<!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.15"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: BlobInfo 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>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</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="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="Compute Library" src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png" style="max-width: 100%;margin-top: 15px;margin-left: 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">19.08</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<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('structarm__compute_1_1_blob_info.xhtml','');});
/* @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="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">BlobInfo Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Meta-data information for each blob.  
 <a href="structarm__compute_1_1_blob_info.xhtml#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>&gt;</code></p>
<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:a11702cc272b3bf3c15074162cf3b7a05"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_blob_info.xhtml#a11702cc272b3bf3c15074162cf3b7a05">BlobInfo</a> (size_t size_=0, size_t alignment_=0, size_t owners_=1)</td></tr>
<tr class="separator:a11702cc272b3bf3c15074162cf3b7a05"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a854352f53b148adc24983a58a1866d66"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_blob_info.xhtml#a854352f53b148adc24983a58a1866d66">size</a></td></tr>
<tr class="memdesc:a854352f53b148adc24983a58a1866d66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blob size.  <a href="#a854352f53b148adc24983a58a1866d66">More...</a><br /></td></tr>
<tr class="separator:a854352f53b148adc24983a58a1866d66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3afda29223eeda35afd21a6c5e121ba2"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_blob_info.xhtml#a3afda29223eeda35afd21a6c5e121ba2">alignment</a></td></tr>
<tr class="memdesc:a3afda29223eeda35afd21a6c5e121ba2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blob alignment.  <a href="#a3afda29223eeda35afd21a6c5e121ba2">More...</a><br /></td></tr>
<tr class="separator:a3afda29223eeda35afd21a6c5e121ba2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af25f77c5a6aac1e9f8f996b22e6683ee"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_blob_info.xhtml#af25f77c5a6aac1e9f8f996b22e6683ee">owners</a></td></tr>
<tr class="memdesc:af25f77c5a6aac1e9f8f996b22e6683ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of owners in parallel of the blob.  <a href="#af25f77c5a6aac1e9f8f996b22e6683ee">More...</a><br /></td></tr>
<tr class="separator:af25f77c5a6aac1e9f8f996b22e6683ee"><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>Meta-data information for each blob. </p>

<p class="definition">Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00051">51</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a11702cc272b3bf3c15074162cf3b7a05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11702cc272b3bf3c15074162cf3b7a05">&#9670;&nbsp;</a></span>BlobInfo()</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="structarm__compute_1_1_blob_info.xhtml">BlobInfo</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size_</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>alignment_</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>owners_</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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="arm__compute_2runtime_2_types_8h_source.xhtml#l00053">53</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        : <a class="code" href="structarm__compute_1_1_blob_info.xhtml#a854352f53b148adc24983a58a1866d66">size</a>(size_), <a class="code" href="structarm__compute_1_1_blob_info.xhtml#a3afda29223eeda35afd21a6c5e121ba2">alignment</a>(alignment_), <a class="code" href="structarm__compute_1_1_blob_info.xhtml#af25f77c5a6aac1e9f8f996b22e6683ee">owners</a>(owners_)</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    {</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    }</div><div class="ttc" id="structarm__compute_1_1_blob_info_xhtml_a3afda29223eeda35afd21a6c5e121ba2"><div class="ttname"><a href="structarm__compute_1_1_blob_info.xhtml#a3afda29223eeda35afd21a6c5e121ba2">arm_compute::BlobInfo::alignment</a></div><div class="ttdeci">size_t alignment</div><div class="ttdoc">Blob alignment.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2runtime_2_types_8h_source.xhtml#l00058">Types.h:58</a></div></div>
<div class="ttc" id="structarm__compute_1_1_blob_info_xhtml_af25f77c5a6aac1e9f8f996b22e6683ee"><div class="ttname"><a href="structarm__compute_1_1_blob_info.xhtml#af25f77c5a6aac1e9f8f996b22e6683ee">arm_compute::BlobInfo::owners</a></div><div class="ttdeci">size_t owners</div><div class="ttdoc">Number of owners in parallel of the blob.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2runtime_2_types_8h_source.xhtml#l00059">Types.h:59</a></div></div>
<div class="ttc" id="structarm__compute_1_1_blob_info_xhtml_a854352f53b148adc24983a58a1866d66"><div class="ttname"><a href="structarm__compute_1_1_blob_info.xhtml#a854352f53b148adc24983a58a1866d66">arm_compute::BlobInfo::size</a></div><div class="ttdeci">size_t size</div><div class="ttdoc">Blob size.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2runtime_2_types_8h_source.xhtml#l00057">Types.h:57</a></div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Field Documentation</h2>
<a id="a3afda29223eeda35afd21a6c5e121ba2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3afda29223eeda35afd21a6c5e121ba2">&#9670;&nbsp;</a></span>alignment</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t alignment</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Blob alignment. </p>

<p class="definition">Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00058">58</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="_offset_memory_pool_8cpp_source.xhtml#l00037">OffsetMemoryPool::OffsetMemoryPool()</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t owners</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of owners in parallel of the blob. </p>

<p class="definition">Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00059">59</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Blob size. </p>

<p class="definition">Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00057">57</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="_offset_memory_pool_8cpp_source.xhtml#l00044">OffsetMemoryPool::acquire()</a>, and <a class="el" href="_offset_memory_pool_8cpp_source.xhtml#l00037">OffsetMemoryPool::OffsetMemoryPool()</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>arm_compute/runtime/<a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</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="namespacearm__compute.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="structarm__compute_1_1_blob_info.xhtml">BlobInfo</a></li>
    <li class="footer">Generated on Mon Sep 2 2019 11:47:31 for Compute Library by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
  </ul>
</div>
</body>
</html>
