blob: cb775d0c0bae5a8dc907d3a545d47ac7a36c8b32 [file] [log] [blame]
<!-- 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: ICLArray&lt; T &gt; Class Template 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">20.02.1</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('classarm__compute_1_1_i_c_l_array.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> </div>
<div class="headertitle">
<div class="title">ICLArray&lt; T &gt; Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>Interface for OpenCL <a class="el" href="classarm__compute_1_1_array.xhtml" title="Basic implementation of the IArray interface which allocates a static number of T values.">Array</a>.
<a href="classarm__compute_1_1_i_c_l_array.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for ICLArray&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classarm__compute_1_1_i_c_l_array__coll__graph.svg" width="123" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.xhtml">legend</a>]</span></center></div>
<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:a52adc23eae121bce4ce2f3febaf77566"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml#a52adc23eae121bce4ce2f3febaf77566">ICLArray</a> (size_t <a class="el" href="classarm__compute_1_1_i_array.xhtml#ad4d0d4b95cde1aa24a381859d3b80a5e">max_num_values</a>)</td></tr>
<tr class="memdesc:a52adc23eae121bce4ce2f3febaf77566"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#a52adc23eae121bce4ce2f3febaf77566">More...</a><br /></td></tr>
<tr class="separator:a52adc23eae121bce4ce2f3febaf77566"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cf073a23250bc74f0481a2747245e09"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml#a0cf073a23250bc74f0481a2747245e09">ICLArray</a> (const <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a> &amp;)=delete</td></tr>
<tr class="memdesc:a0cf073a23250bc74f0481a2747245e09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent instances of this class from being copy constructed. <a href="#a0cf073a23250bc74f0481a2747245e09">More...</a><br /></td></tr>
<tr class="separator:a0cf073a23250bc74f0481a2747245e09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefdb6cfe839aa0835406d5adcd37de5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml#aefdb6cfe839aa0835406d5adcd37de5b">operator=</a> (const <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a> &amp;)=delete</td></tr>
<tr class="memdesc:aefdb6cfe839aa0835406d5adcd37de5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent instances of this class from being copied. <a href="#aefdb6cfe839aa0835406d5adcd37de5b">More...</a><br /></td></tr>
<tr class="separator:aefdb6cfe839aa0835406d5adcd37de5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2737e23210ec0453be088d5069fe2c48"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml#a2737e23210ec0453be088d5069fe2c48">ICLArray</a> (<a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a> &amp;&amp;)=default</td></tr>
<tr class="memdesc:a2737e23210ec0453be088d5069fe2c48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be move constructed. <a href="#a2737e23210ec0453be088d5069fe2c48">More...</a><br /></td></tr>
<tr class="separator:a2737e23210ec0453be088d5069fe2c48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23914bc8fc4d9bb6d4c58f8c0c399c58"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml#a23914bc8fc4d9bb6d4c58f8c0c399c58">operator=</a> (<a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a> &amp;&amp;)=default</td></tr>
<tr class="memdesc:a23914bc8fc4d9bb6d4c58f8c0c399c58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be moved. <a href="#a23914bc8fc4d9bb6d4c58f8c0c399c58">More...</a><br /></td></tr>
<tr class="separator:a23914bc8fc4d9bb6d4c58f8c0c399c58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c95f444049eea7c7d14f6fd57ef40a1"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml#a0c95f444049eea7c7d14f6fd57ef40a1">~ICLArray</a> ()=default</td></tr>
<tr class="memdesc:a0c95f444049eea7c7d14f6fd57ef40a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default virtual destructor. <a href="#a0c95f444049eea7c7d14f6fd57ef40a1">More...</a><br /></td></tr>
<tr class="separator:a0c95f444049eea7c7d14f6fd57ef40a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fb4c50755a0ef424652246838ed91a6"><td class="memItemLeft" align="right" valign="top">virtual const cl::Buffer &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml#a1fb4c50755a0ef424652246838ed91a6">cl_buffer</a> () const =0</td></tr>
<tr class="memdesc:a1fb4c50755a0ef424652246838ed91a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to be implemented by the child class to return a reference to the OpenCL buffer containing the array's data. <a href="#a1fb4c50755a0ef424652246838ed91a6">More...</a><br /></td></tr>
<tr class="separator:a1fb4c50755a0ef424652246838ed91a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0abc7a5c0d172947f0e6a0c0dde3df0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml#ac0abc7a5c0d172947f0e6a0c0dde3df0">map</a> (cl::CommandQueue &amp;q, bool blocking=true)</td></tr>
<tr class="memdesc:ac0abc7a5c0d172947f0e6a0c0dde3df0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enqueue a map operation of the allocated buffer on the given queue. <a href="#ac0abc7a5c0d172947f0e6a0c0dde3df0">More...</a><br /></td></tr>
<tr class="separator:ac0abc7a5c0d172947f0e6a0c0dde3df0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af974a2360069c2ef8df4496d00e4f6cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml#af974a2360069c2ef8df4496d00e4f6cc">unmap</a> (cl::CommandQueue &amp;q)</td></tr>
<tr class="memdesc:af974a2360069c2ef8df4496d00e4f6cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enqueue an unmap operation of the allocated and mapped buffer on the given queue. <a href="#af974a2360069c2ef8df4496d00e4f6cc">More...</a><br /></td></tr>
<tr class="separator:af974a2360069c2ef8df4496d00e4f6cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46fdef12397c4404e7706cba3568b42d"><td class="memItemLeft" align="right" valign="top">T *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml#a46fdef12397c4404e7706cba3568b42d">buffer</a> () const override</td></tr>
<tr class="memdesc:a46fdef12397c4404e7706cba3568b42d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the first element of the array. <a href="#a46fdef12397c4404e7706cba3568b42d">More...</a><br /></td></tr>
<tr class="separator:a46fdef12397c4404e7706cba3568b42d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classarm__compute_1_1_i_array"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarm__compute_1_1_i_array')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray&lt; T &gt;</a></td></tr>
<tr class="memitem:a409cec620a7e56a535b079a0fe37695a inherit pub_methods_classarm__compute_1_1_i_array"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml#a409cec620a7e56a535b079a0fe37695a">IArray</a> ()</td></tr>
<tr class="memdesc:a409cec620a7e56a535b079a0fe37695a inherit pub_methods_classarm__compute_1_1_i_array"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <a href="classarm__compute_1_1_i_array.xhtml#a409cec620a7e56a535b079a0fe37695a">More...</a><br /></td></tr>
<tr class="separator:a409cec620a7e56a535b079a0fe37695a inherit pub_methods_classarm__compute_1_1_i_array"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ddd3791f151a0ad74b270776ff3726c inherit pub_methods_classarm__compute_1_1_i_array"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml#a7ddd3791f151a0ad74b270776ff3726c">IArray</a> (size_t <a class="el" href="classarm__compute_1_1_i_array.xhtml#ad4d0d4b95cde1aa24a381859d3b80a5e">max_num_values</a>)</td></tr>
<tr class="memdesc:a7ddd3791f151a0ad74b270776ff3726c inherit pub_methods_classarm__compute_1_1_i_array"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor: initializes an array which can contain up to max_num_points values. <a href="classarm__compute_1_1_i_array.xhtml#a7ddd3791f151a0ad74b270776ff3726c">More...</a><br /></td></tr>
<tr class="separator:a7ddd3791f151a0ad74b270776ff3726c inherit pub_methods_classarm__compute_1_1_i_array"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4d0d4b95cde1aa24a381859d3b80a5e inherit pub_methods_classarm__compute_1_1_i_array"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml#ad4d0d4b95cde1aa24a381859d3b80a5e">max_num_values</a> () const</td></tr>
<tr class="memdesc:ad4d0d4b95cde1aa24a381859d3b80a5e inherit pub_methods_classarm__compute_1_1_i_array"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of values which can be stored in this array. <a href="classarm__compute_1_1_i_array.xhtml#ad4d0d4b95cde1aa24a381859d3b80a5e">More...</a><br /></td></tr>
<tr class="separator:ad4d0d4b95cde1aa24a381859d3b80a5e inherit pub_methods_classarm__compute_1_1_i_array"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaeb87c4bcccaf15bb25bd2c8e44658a inherit pub_methods_classarm__compute_1_1_i_array"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml#acaeb87c4bcccaf15bb25bd2c8e44658a">~IArray</a> ()=default</td></tr>
<tr class="memdesc:acaeb87c4bcccaf15bb25bd2c8e44658a inherit pub_methods_classarm__compute_1_1_i_array"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default virtual destructor. <a href="classarm__compute_1_1_i_array.xhtml#acaeb87c4bcccaf15bb25bd2c8e44658a">More...</a><br /></td></tr>
<tr class="separator:acaeb87c4bcccaf15bb25bd2c8e44658a inherit pub_methods_classarm__compute_1_1_i_array"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac8e28a698cd201286d75eb3f5ad3e1c inherit pub_methods_classarm__compute_1_1_i_array"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml#aac8e28a698cd201286d75eb3f5ad3e1c">num_values</a> () const</td></tr>
<tr class="memdesc:aac8e28a698cd201286d75eb3f5ad3e1c inherit pub_methods_classarm__compute_1_1_i_array"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of values currently stored in the array. <a href="classarm__compute_1_1_i_array.xhtml#aac8e28a698cd201286d75eb3f5ad3e1c">More...</a><br /></td></tr>
<tr class="separator:aac8e28a698cd201286d75eb3f5ad3e1c inherit pub_methods_classarm__compute_1_1_i_array"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9031bfcabdaae3ac3e6e349446e282ff inherit pub_methods_classarm__compute_1_1_i_array"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml#a9031bfcabdaae3ac3e6e349446e282ff">push_back</a> (const T &amp;val)</td></tr>
<tr class="memdesc:a9031bfcabdaae3ac3e6e349446e282ff inherit pub_methods_classarm__compute_1_1_i_array"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append the passed argument to the end of the array if there is room. <a href="classarm__compute_1_1_i_array.xhtml#a9031bfcabdaae3ac3e6e349446e282ff">More...</a><br /></td></tr>
<tr class="separator:a9031bfcabdaae3ac3e6e349446e282ff inherit pub_methods_classarm__compute_1_1_i_array"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8bb3912a3ce86b15842e79d0b421204 inherit pub_methods_classarm__compute_1_1_i_array"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml#ac8bb3912a3ce86b15842e79d0b421204">clear</a> ()</td></tr>
<tr class="memdesc:ac8bb3912a3ce86b15842e79d0b421204 inherit pub_methods_classarm__compute_1_1_i_array"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear all the points from the array. <a href="classarm__compute_1_1_i_array.xhtml#ac8bb3912a3ce86b15842e79d0b421204">More...</a><br /></td></tr>
<tr class="separator:ac8bb3912a3ce86b15842e79d0b421204 inherit pub_methods_classarm__compute_1_1_i_array"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaac8982c6c162d3dc4acf356426684dc inherit pub_methods_classarm__compute_1_1_i_array"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml#aaac8982c6c162d3dc4acf356426684dc">overflow</a> () const</td></tr>
<tr class="memdesc:aaac8982c6c162d3dc4acf356426684dc inherit pub_methods_classarm__compute_1_1_i_array"><td class="mdescLeft">&#160;</td><td class="mdescRight">Did we lose some values because the array is too small? <a href="classarm__compute_1_1_i_array.xhtml#aaac8982c6c162d3dc4acf356426684dc">More...</a><br /></td></tr>
<tr class="separator:aaac8982c6c162d3dc4acf356426684dc inherit pub_methods_classarm__compute_1_1_i_array"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9deaea40b2409ee68d354bdb9d3f8443 inherit pub_methods_classarm__compute_1_1_i_array"><td class="memItemLeft" align="right" valign="top">virtual T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml#a9deaea40b2409ee68d354bdb9d3f8443">at</a> (size_t index) const</td></tr>
<tr class="memdesc:a9deaea40b2409ee68d354bdb9d3f8443 inherit pub_methods_classarm__compute_1_1_i_array"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference to the element of the array located at the given index. <a href="classarm__compute_1_1_i_array.xhtml#a9deaea40b2409ee68d354bdb9d3f8443">More...</a><br /></td></tr>
<tr class="separator:a9deaea40b2409ee68d354bdb9d3f8443 inherit pub_methods_classarm__compute_1_1_i_array"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae21b0e95ded2dcfb5e62848ea0193828 inherit pub_methods_classarm__compute_1_1_i_array"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml#ae21b0e95ded2dcfb5e62848ea0193828">resize</a> (size_t num)</td></tr>
<tr class="memdesc:ae21b0e95ded2dcfb5e62848ea0193828 inherit pub_methods_classarm__compute_1_1_i_array"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resizes the array to contain "num" elements. <a href="classarm__compute_1_1_i_array.xhtml#ae21b0e95ded2dcfb5e62848ea0193828">More...</a><br /></td></tr>
<tr class="separator:ae21b0e95ded2dcfb5e62848ea0193828 inherit pub_methods_classarm__compute_1_1_i_array"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class T&gt;<br />
class arm_compute::ICLArray&lt; T &gt;</h3>
<p>Interface for OpenCL <a class="el" href="classarm__compute_1_1_array.xhtml" title="Basic implementation of the IArray interface which allocates a static number of T values.">Array</a>. </p>
<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a52adc23eae121bce4ce2f3febaf77566"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52adc23eae121bce4ce2f3febaf77566">&#9670;&nbsp;</a></span>ICLArray() <span class="overload">[1/3]</span></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="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a> </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>max_num_values</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">max_num_values</td><td>Maximum size of the array. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00043">43</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; : IArray&lt;T&gt;(<a class="code" href="classarm__compute_1_1_i_array.xhtml#ad4d0d4b95cde1aa24a381859d3b80a5e">max_num_values</a>), _mapping(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; {</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; }</div><div class="ttc" id="classarm__compute_1_1_i_array_xhtml_ad4d0d4b95cde1aa24a381859d3b80a5e"><div class="ttname"><a href="classarm__compute_1_1_i_array.xhtml#ad4d0d4b95cde1aa24a381859d3b80a5e">arm_compute::IArray::max_num_values</a></div><div class="ttdeci">size_t max_num_values() const</div><div class="ttdoc">Maximum number of values which can be stored in this array.</div><div class="ttdef"><b>Definition:</b> <a href="_i_array_8h_source.xhtml#l00058">IArray.h:58</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0cf073a23250bc74f0481a2747245e09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cf073a23250bc74f0481a2747245e09">&#9670;&nbsp;</a></span>ICLArray() <span class="overload">[2/3]</span></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="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Prevent instances of this class from being copy constructed. </p>
</div>
</div>
<a id="a2737e23210ec0453be088d5069fe2c48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2737e23210ec0453be088d5069fe2c48">&#9670;&nbsp;</a></span>ICLArray() <span class="overload">[3/3]</span></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="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; T &gt; &amp;&amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Allow instances of this class to be move constructed. </p>
</div>
</div>
<a id="a0c95f444049eea7c7d14f6fd57ef40a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c95f444049eea7c7d14f6fd57ef40a1">&#9670;&nbsp;</a></span>~ICLArray()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual ~<a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default virtual destructor. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a46fdef12397c4404e7706cba3568b42d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46fdef12397c4404e7706cba3568b42d">&#9670;&nbsp;</a></span>buffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T* buffer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer to the first element of the array. </p>
<p>Other elements of the array can be accessed using <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml#a46fdef12397c4404e7706cba3568b42d" title="Pointer to the first element of the array.">buffer()</a>[idx] for 0 &lt;= idx &lt; num_poins().</p>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the first element of the array </dd></dl>
<p>Implements <a class="el" href="classarm__compute_1_1_i_array.xhtml#a4b55468220c2029e7ee1594e34b2b21f">IArray&lt; T &gt;</a>.</p>
<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00090">90</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">return</span> reinterpret_cast&lt;T *&gt;(_mapping);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div></div><!-- fragment -->
</div>
</div>
<a id="a1fb4c50755a0ef424652246838ed91a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1fb4c50755a0ef424652246838ed91a6">&#9670;&nbsp;</a></span>cl_buffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const cl::Buffer&amp; cl_buffer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Interface to be implemented by the child class to return a reference to the OpenCL buffer containing the array's data. </p>
<dl class="section return"><dt>Returns</dt><dd>A reference to an OpenCL buffer containing the array's data. </dd></dl>
<p>Implemented in <a class="el" href="classarm__compute_1_1_c_l_array.xhtml#afd44a3d7dad6d984b1b87bc9f1b4fa02">CLArray&lt; T &gt;</a>, <a class="el" href="classarm__compute_1_1_c_l_array.xhtml#afd44a3d7dad6d984b1b87bc9f1b4fa02">CLArray&lt; cl_float &gt;</a>, and <a class="el" href="classarm__compute_1_1_c_l_array.xhtml#afd44a3d7dad6d984b1b87bc9f1b4fa02">CLArray&lt; cl_int &gt;</a>.</p>
<p class="reference">Referenced by <a class="el" href="_i_c_l_kernel_8h_source.xhtml#l00359">ICLKernel::add_array_argument()</a>, <a class="el" href="_c_l_h_o_g_detector_kernel_8cpp_source.xhtml#l00044">CLHOGDetectorKernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00041">CLLKTrackerInitKernel::configure()</a>, <a class="el" href="_c_l_min_max_location_kernel_8cpp_source.xhtml#l00169">CLMinMaxLocationKernel::configure()</a>, <a class="el" href="_c_l_fast_corners_kernel_8cpp_source.xhtml#l00133">CLCopyToArrayKernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00089">CLLKTrackerFinalizeKernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00123">CLLKTrackerStage0Kernel::configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00213">CLLKTrackerStage1Kernel::configure()</a>, and <a class="el" href="_c_l_dequantization_layer_kernel_8cpp_source.xhtml#l00132">CLDequantizationLayerKernel::run()</a>.</p>
</div>
</div>
<a id="ac0abc7a5c0d172947f0e6a0c0dde3df0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0abc7a5c0d172947f0e6a0c0dde3df0">&#9670;&nbsp;</a></span>map()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void map </td>
<td>(</td>
<td class="paramtype">cl::CommandQueue &amp;&#160;</td>
<td class="paramname"><em>q</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>blocking</em> = <code>true</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>Enqueue a map operation of the allocated buffer on the given queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">q</td><td>The CL command queue to use for the mapping operation. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">blocking</td><td>If true, then the mapping will be ready to use by the time this method returns, else it is the caller's responsibility to flush the queue and wait for the mapping operation to have completed before using the returned mapping pointer.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The mapping address. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00072">72</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; _mapping = do_map(q, blocking);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_c_l_h_o_g_multi_detection_8cpp_source.xhtml#l00056">CLHOGMultiDetection::configure()</a>, <a class="el" href="_c_l_array_8h_source.xhtml#l00067">CLArray&lt; cl_int &gt;::map()</a>, <a class="el" href="_c_l_harris_corners_8cpp_source.xhtml#l00158">CLHarrisCorners::run()</a>, and <a class="el" href="_c_l_h_o_g_multi_detection_8cpp_source.xhtml#l00229">CLHOGMultiDetection::run()</a>.</p>
</div>
</div>
<a id="aefdb6cfe839aa0835406d5adcd37de5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefdb6cfe839aa0835406d5adcd37de5b">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/2]</span></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="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&amp; operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Prevent instances of this class from being copied. </p>
</div>
</div>
<a id="a23914bc8fc4d9bb6d4c58f8c0c399c58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23914bc8fc4d9bb6d4c58f8c0c399c58">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/2]</span></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="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&amp; operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; T &gt; &amp;&amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Allow instances of this class to be moved. </p>
</div>
</div>
<a id="af974a2360069c2ef8df4496d00e4f6cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af974a2360069c2ef8df4496d00e4f6cc">&#9670;&nbsp;</a></span>unmap()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void unmap </td>
<td>(</td>
<td class="paramtype">cl::CommandQueue &amp;&#160;</td>
<td class="paramname"><em>q</em></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>Enqueue an unmap operation of the allocated and mapped buffer on the given queue. </p>
<dl class="section note"><dt>Note</dt><dd>This method simply enqueues the unmap operation, it is the caller's responsibility to flush the queue and make sure the unmap is finished before the memory is accessed by the device.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">q</td><td>The CL command queue to use for the mapping operation. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00083">83</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; {</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; do_unmap(q, _mapping);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; _mapping = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_c_l_h_o_g_multi_detection_8cpp_source.xhtml#l00056">CLHOGMultiDetection::configure()</a>, <a class="el" href="_c_l_harris_corners_8cpp_source.xhtml#l00158">CLHarrisCorners::run()</a>, <a class="el" href="_c_l_h_o_g_multi_detection_8cpp_source.xhtml#l00229">CLHOGMultiDetection::run()</a>, and <a class="el" href="_c_l_array_8h_source.xhtml#l00077">CLArray&lt; cl_int &gt;::unmap()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>arm_compute/core/CL/<a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.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="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a></li>
<li class="footer">Generated on Thu Mar 5 2020 16:07:14 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>