arm_compute v18.03
[platform/upstream/armcl.git] / documentation / classarm__compute_1_1_c_l_sub_tensor.xhtml
1 <!-- HTML header for doxygen 1.8.9.1-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
7 <meta name="generator" content="Doxygen 1.8.11"/>
8 <meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
9 <title>Compute Library: CLSubTensor Class Reference</title>
10 <link href="tabs.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="jquery.js"></script>
12 <script type="text/javascript" src="dynsections.js"></script>
13 <link href="navtree.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="resize.js"></script>
15 <script type="text/javascript" src="navtreedata.js"></script>
16 <script type="text/javascript" src="navtree.js"></script>
17 <script type="text/javascript">
18   $(document).ready(initResizable);
19   $(window).load(resizeHeight);
20 </script>
21 <link href="search/search.css" rel="stylesheet" type="text/css"/>
22 <script type="text/javascript" src="search/searchdata.js"></script>
23 <script type="text/javascript" src="search/search.js"></script>
24 <script type="text/javascript">
25   $(document).ready(function() { init_search(); });
26 </script>
27 <script type="text/x-mathjax-config">
28   MathJax.Hub.Config({
29     extensions: ["tex2jax.js"],
30     jax: ["input/TeX","output/HTML-CSS"],
31 });
32 </script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
33 <link href="doxygen.css" rel="stylesheet" type="text/css" />
34 </head>
35 <body>
36 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
37 <div id="titlearea">
38 <table cellspacing="0" cellpadding="0">
39  <tbody>
40  <tr style="height: 56px;">
41   <td style="padding-left: 0.5em;">
42    <div id="projectname">Compute Library
43    &#160;<span id="projectnumber">18.03</span>
44    </div>
45   </td>
46  </tr>
47  </tbody>
48 </table>
49 </div>
50 <!-- end header part -->
51 <!-- Generated by Doxygen 1.8.11 -->
52 <script type="text/javascript">
53 var searchBox = new SearchBox("searchBox", "search",false,'Search');
54 </script>
55   <div id="navrow1" class="tabs">
56     <ul class="tablist">
57       <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
58       <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
59       <li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
60       <li class="current"><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
61       <li><a href="files.xhtml"><span>Files</span></a></li>
62       <li>
63         <div id="MSearchBox" class="MSearchBoxInactive">
64         <span class="left">
65           <img id="MSearchSelect" src="search/mag_sel.png"
66                onmouseover="return searchBox.OnSearchSelectShow()"
67                onmouseout="return searchBox.OnSearchSelectHide()"
68                alt=""/>
69           <input type="text" id="MSearchField" value="Search" accesskey="S"
70                onfocus="searchBox.OnSearchFieldFocus(true)" 
71                onblur="searchBox.OnSearchFieldFocus(false)" 
72                onkeyup="searchBox.OnSearchFieldChange(event)"/>
73           </span><span class="right">
74             <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
75           </span>
76         </div>
77       </li>
78     </ul>
79   </div>
80   <div id="navrow2" class="tabs2">
81     <ul class="tablist">
82       <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
83       <li><a href="classes.xhtml"><span>Data&#160;Structure&#160;Index</span></a></li>
84       <li><a href="inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
85       <li><a href="functions.xhtml"><span>Data&#160;Fields</span></a></li>
86     </ul>
87   </div>
88 </div><!-- top -->
89 <div id="side-nav" class="ui-resizable side-nav-resizable">
90   <div id="nav-tree">
91     <div id="nav-tree-contents">
92       <div id="nav-sync" class="sync"></div>
93     </div>
94   </div>
95   <div id="splitbar" style="-moz-user-select:none;" 
96        class="ui-resizable-handle">
97   </div>
98 </div>
99 <script type="text/javascript">
100 $(document).ready(function(){initNavTree('classarm__compute_1_1_c_l_sub_tensor.xhtml','');});
101 </script>
102 <div id="doc-content">
103 <!-- window showing the filter options -->
104 <div id="MSearchSelectWindow"
105      onmouseover="return searchBox.OnSearchSelectShow()"
106      onmouseout="return searchBox.OnSearchSelectHide()"
107      onkeydown="return searchBox.OnSearchSelectKey(event)">
108 </div>
109
110 <!-- iframe showing the search results (closed by default) -->
111 <div id="MSearchResultsWindow">
112 <iframe src="javascript:void(0)" frameborder="0" 
113         name="MSearchResults" id="MSearchResults">
114 </iframe>
115 </div>
116
117 <div class="header">
118   <div class="summary">
119 <a href="#pub-methods">Public Member Functions</a>  </div>
120   <div class="headertitle">
121 <div class="title">CLSubTensor Class Reference</div>  </div>
122 </div><!--header-->
123 <div class="contents">
124
125 <p>Basic implementation of the OpenCL sub-tensor interface.  
126  <a href="classarm__compute_1_1_c_l_sub_tensor.xhtml#details">More...</a></p>
127
128 <p><code>#include &lt;<a class="el" href="_c_l_sub_tensor_8h_source.xhtml">CLSubTensor.h</a>&gt;</code></p>
129 <div class="dynheader">
130 Collaboration diagram for CLSubTensor:</div>
131 <div class="dyncontent">
132 <div class="center"><iframe scrolling="no" frameborder="0" src="classarm__compute_1_1_c_l_sub_tensor__coll__graph.svg" width="115" height="187"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
133 </div>
134 <center><span class="legend">[<a target="top" href="graph_legend.xhtml">legend</a>]</span></center></div>
135 <table class="memberdecls">
136 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
137 Public Member Functions</h2></td></tr>
138 <tr class="memitem:a65fe9103d114c8677b9c62844f9d9b22"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml#a65fe9103d114c8677b9c62844f9d9b22">CLSubTensor</a> (<a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a> *<a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml#a47e6fa052a1d4a5db6dbf14126faa7ab">parent</a>, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;tensor_shape, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;coords, bool extend_parent=false)</td></tr>
139 <tr class="memdesc:a65fe9103d114c8677b9c62844f9d9b22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a65fe9103d114c8677b9c62844f9d9b22">More...</a><br /></td></tr>
140 <tr class="separator:a65fe9103d114c8677b9c62844f9d9b22"><td class="memSeparator" colspan="2">&#160;</td></tr>
141 <tr class="memitem:a3f3d38e602db0a6af8ac5e932d798617"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml#a3f3d38e602db0a6af8ac5e932d798617">~CLSubTensor</a> ()=default</td></tr>
142 <tr class="memdesc:a3f3d38e602db0a6af8ac5e932d798617"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor: free the tensor's memory.  <a href="#a3f3d38e602db0a6af8ac5e932d798617">More...</a><br /></td></tr>
143 <tr class="separator:a3f3d38e602db0a6af8ac5e932d798617"><td class="memSeparator" colspan="2">&#160;</td></tr>
144 <tr class="memitem:a3770cb2663115441657ca172d0df5bc5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml#a3770cb2663115441657ca172d0df5bc5">CLSubTensor</a> (const <a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a> &amp;)=delete</td></tr>
145 <tr class="memdesc:a3770cb2663115441657ca172d0df5bc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restrict instances of this class to be copy constructed.  <a href="#a3770cb2663115441657ca172d0df5bc5">More...</a><br /></td></tr>
146 <tr class="separator:a3770cb2663115441657ca172d0df5bc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
147 <tr class="memitem:a9e7404a38329c9f1fcce42b8098dc6f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml#a9e7404a38329c9f1fcce42b8098dc6f9">operator=</a> (const <a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a> &amp;)=delete</td></tr>
148 <tr class="memdesc:a9e7404a38329c9f1fcce42b8098dc6f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restrict instances of this class to be copied.  <a href="#a9e7404a38329c9f1fcce42b8098dc6f9">More...</a><br /></td></tr>
149 <tr class="separator:a9e7404a38329c9f1fcce42b8098dc6f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
150 <tr class="memitem:a65c6e5ec2b8035889c3114462010b612"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml#a65c6e5ec2b8035889c3114462010b612">CLSubTensor</a> (<a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a> &amp;&amp;)=default</td></tr>
151 <tr class="memdesc:a65c6e5ec2b8035889c3114462010b612"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be move constructed.  <a href="#a65c6e5ec2b8035889c3114462010b612">More...</a><br /></td></tr>
152 <tr class="separator:a65c6e5ec2b8035889c3114462010b612"><td class="memSeparator" colspan="2">&#160;</td></tr>
153 <tr class="memitem:aee53085b838758adfce05657de25f5c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml#aee53085b838758adfce05657de25f5c5">operator=</a> (<a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a> &amp;&amp;)=default</td></tr>
154 <tr class="memdesc:aee53085b838758adfce05657de25f5c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be moved.  <a href="#aee53085b838758adfce05657de25f5c5">More...</a><br /></td></tr>
155 <tr class="separator:aee53085b838758adfce05657de25f5c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
156 <tr class="memitem:a14c53d2d17be6fa8a2c9861527c7b002"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml#a14c53d2d17be6fa8a2c9861527c7b002">map</a> (bool blocking=true)</td></tr>
157 <tr class="memdesc:a14c53d2d17be6fa8a2c9861527c7b002"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enqueue a map operation of the allocated buffer.  <a href="#a14c53d2d17be6fa8a2c9861527c7b002">More...</a><br /></td></tr>
158 <tr class="separator:a14c53d2d17be6fa8a2c9861527c7b002"><td class="memSeparator" colspan="2">&#160;</td></tr>
159 <tr class="memitem:a1ffeb3b5abb3d61f62b58a391816201c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml#a1ffeb3b5abb3d61f62b58a391816201c">unmap</a> ()</td></tr>
160 <tr class="memdesc:a1ffeb3b5abb3d61f62b58a391816201c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enqueue an unmap operation of the allocated and mapped buffer.  <a href="#a1ffeb3b5abb3d61f62b58a391816201c">More...</a><br /></td></tr>
161 <tr class="separator:a1ffeb3b5abb3d61f62b58a391816201c"><td class="memSeparator" colspan="2">&#160;</td></tr>
162 <tr class="memitem:a47e6fa052a1d4a5db6dbf14126faa7ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml#a47e6fa052a1d4a5db6dbf14126faa7ab">parent</a> ()</td></tr>
163 <tr class="memdesc:a47e6fa052a1d4a5db6dbf14126faa7ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the parent tensor of the subtensor.  <a href="#a47e6fa052a1d4a5db6dbf14126faa7ab">More...</a><br /></td></tr>
164 <tr class="separator:a47e6fa052a1d4a5db6dbf14126faa7ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
165 <tr class="memitem:aa68535e0983cc60a425253a72b162661"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml#aa68535e0983cc60a425253a72b162661">info</a> () const override</td></tr>
166 <tr class="memdesc:aa68535e0983cc60a425253a72b162661"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to be implemented by the child class to return the tensor's metadata.  <a href="#aa68535e0983cc60a425253a72b162661">More...</a><br /></td></tr>
167 <tr class="separator:aa68535e0983cc60a425253a72b162661"><td class="memSeparator" colspan="2">&#160;</td></tr>
168 <tr class="memitem:a8535070d127b492c6f2aeaf1ac2aae5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml#a8535070d127b492c6f2aeaf1ac2aae5b">info</a> () override</td></tr>
169 <tr class="memdesc:a8535070d127b492c6f2aeaf1ac2aae5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to be implemented by the child class to return the tensor's metadata.  <a href="#a8535070d127b492c6f2aeaf1ac2aae5b">More...</a><br /></td></tr>
170 <tr class="separator:a8535070d127b492c6f2aeaf1ac2aae5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
171 <tr class="memitem:afd44a3d7dad6d984b1b87bc9f1b4fa02"><td class="memItemLeft" align="right" valign="top">const cl::Buffer &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml#afd44a3d7dad6d984b1b87bc9f1b4fa02">cl_buffer</a> () const override</td></tr>
172 <tr class="memdesc:afd44a3d7dad6d984b1b87bc9f1b4fa02"><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 image's data.  <a href="#afd44a3d7dad6d984b1b87bc9f1b4fa02">More...</a><br /></td></tr>
173 <tr class="separator:afd44a3d7dad6d984b1b87bc9f1b4fa02"><td class="memSeparator" colspan="2">&#160;</td></tr>
174 <tr class="inherit_header pub_methods_classarm__compute_1_1_i_c_l_tensor"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarm__compute_1_1_i_c_l_tensor')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a></td></tr>
175 <tr class="memitem:a64399eb327ea2e4ecd2c8086a8dc01ce inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><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_tensor.xhtml#a64399eb327ea2e4ecd2c8086a8dc01ce">ICLTensor</a> ()</td></tr>
176 <tr class="separator:a64399eb327ea2e4ecd2c8086a8dc01ce inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
177 <tr class="memitem:ad49b11e9c7276ca78046ad4c339cd7c6 inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><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_tensor.xhtml#ad49b11e9c7276ca78046ad4c339cd7c6">ICLTensor</a> (const <a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a> &amp;)=delete</td></tr>
178 <tr class="separator:ad49b11e9c7276ca78046ad4c339cd7c6 inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
179 <tr class="memitem:af72219f9b5e8803950eb8863a23c076e inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml#af72219f9b5e8803950eb8863a23c076e">operator=</a> (const <a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a> &amp;)=delete</td></tr>
180 <tr class="separator:af72219f9b5e8803950eb8863a23c076e inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
181 <tr class="memitem:ae81da2706cd5717c6c4d7cea239a1e03 inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><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_tensor.xhtml#ae81da2706cd5717c6c4d7cea239a1e03">ICLTensor</a> (<a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a> &amp;&amp;)=default</td></tr>
182 <tr class="separator:ae81da2706cd5717c6c4d7cea239a1e03 inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
183 <tr class="memitem:a6a7368baa4f8580ea732b2a352217b80 inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml#a6a7368baa4f8580ea732b2a352217b80">operator=</a> (<a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a> &amp;&amp;)=default</td></tr>
184 <tr class="separator:a6a7368baa4f8580ea732b2a352217b80 inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
185 <tr class="memitem:aa0bce17c5cd01f2b45cc59afd615913e inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><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_tensor.xhtml#aa0bce17c5cd01f2b45cc59afd615913e">~ICLTensor</a> ()=default</td></tr>
186 <tr class="separator:aa0bce17c5cd01f2b45cc59afd615913e inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
187 <tr class="memitem:ac0abc7a5c0d172947f0e6a0c0dde3df0 inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><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_tensor.xhtml#ac0abc7a5c0d172947f0e6a0c0dde3df0">map</a> (cl::CommandQueue &amp;q, bool blocking=true)</td></tr>
188 <tr class="memdesc:ac0abc7a5c0d172947f0e6a0c0dde3df0 inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><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>
189 <tr class="separator:ac0abc7a5c0d172947f0e6a0c0dde3df0 inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
190 <tr class="memitem:af974a2360069c2ef8df4496d00e4f6cc inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><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_tensor.xhtml#af974a2360069c2ef8df4496d00e4f6cc">unmap</a> (cl::CommandQueue &amp;q)</td></tr>
191 <tr class="memdesc:af974a2360069c2ef8df4496d00e4f6cc inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><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>
192 <tr class="separator:af974a2360069c2ef8df4496d00e4f6cc inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
193 <tr class="memitem:a7b94593f2b06f00d380ec3a3e6abccb2 inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><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_tensor.xhtml#a7b94593f2b06f00d380ec3a3e6abccb2">clear</a> (cl::CommandQueue &amp;q)</td></tr>
194 <tr class="memdesc:a7b94593f2b06f00d380ec3a3e6abccb2 inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the contents of the tensor synchronously.  <a href="#a7b94593f2b06f00d380ec3a3e6abccb2">More...</a><br /></td></tr>
195 <tr class="separator:a7b94593f2b06f00d380ec3a3e6abccb2 inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
196 <tr class="memitem:ace7b855e3c647d29cc37a1ce147901dc inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml#ace7b855e3c647d29cc37a1ce147901dc">buffer</a> () const override</td></tr>
197 <tr class="memdesc:ace7b855e3c647d29cc37a1ce147901dc inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to be implemented by the child class to return a pointer to CPU memory.  <a href="#ace7b855e3c647d29cc37a1ce147901dc">More...</a><br /></td></tr>
198 <tr class="separator:ace7b855e3c647d29cc37a1ce147901dc inherit pub_methods_classarm__compute_1_1_i_c_l_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
199 <tr class="inherit_header pub_methods_classarm__compute_1_1_i_tensor"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarm__compute_1_1_i_tensor')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a></td></tr>
200 <tr class="memitem:a4aa2df36743089ac6814d83e7d4b7ffc inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a4aa2df36743089ac6814d83e7d4b7ffc">~ITensor</a> ()=default</td></tr>
201 <tr class="memdesc:a4aa2df36743089ac6814d83e7d4b7ffc inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default virtual destructor.  <a href="#a4aa2df36743089ac6814d83e7d4b7ffc">More...</a><br /></td></tr>
202 <tr class="separator:a4aa2df36743089ac6814d83e7d4b7ffc inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
203 <tr class="memitem:a48c7a05cc63f541d732250e39339cee2 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a48c7a05cc63f541d732250e39339cee2">ptr_to_element</a> (const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;<a class="el" href="hwc_8hpp.xhtml#abaabdc509cdaba7df9f56c6c76f3ae19">id</a>) const </td></tr>
204 <tr class="memdesc:a48c7a05cc63f541d732250e39339cee2 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a pointer to the element at the passed coordinates.  <a href="#a48c7a05cc63f541d732250e39339cee2">More...</a><br /></td></tr>
205 <tr class="separator:a48c7a05cc63f541d732250e39339cee2 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
206 <tr class="memitem:a4a774ad8d5f4837f3d7de1876d367c5b inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a4a774ad8d5f4837f3d7de1876d367c5b">copy_from</a> (const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> &amp;src)</td></tr>
207 <tr class="memdesc:a4a774ad8d5f4837f3d7de1876d367c5b inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the content of another tensor.  <a href="#a4a774ad8d5f4837f3d7de1876d367c5b">More...</a><br /></td></tr>
208 <tr class="separator:a4a774ad8d5f4837f3d7de1876d367c5b inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
209 <tr class="memitem:a0b092c86d6e0fb8a114281565953a02a inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0b092c86d6e0fb8a114281565953a02a">print</a> (std::ostream &amp;s, <a class="el" href="structarm__compute_1_1_i_o_format_info.xhtml">IOFormatInfo</a> io_fmt=<a class="el" href="structarm__compute_1_1_i_o_format_info.xhtml">IOFormatInfo</a>()) const </td></tr>
210 <tr class="memdesc:a0b092c86d6e0fb8a114281565953a02a inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a tensor to a given stream using user defined formatting information.  <a href="#a0b092c86d6e0fb8a114281565953a02a">More...</a><br /></td></tr>
211 <tr class="separator:a0b092c86d6e0fb8a114281565953a02a inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
212 </table>
213 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
214 <div class="textblock"><p>Basic implementation of the OpenCL sub-tensor interface. </p>
215
216 <p>Definition at line <a class="el" href="_c_l_sub_tensor_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_c_l_sub_tensor_8h_source.xhtml">CLSubTensor.h</a>.</p>
217 </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
218 <a class="anchor" id="a65fe9103d114c8677b9c62844f9d9b22"></a>
219 <div class="memitem">
220 <div class="memproto">
221       <table class="memname">
222         <tr>
223           <td class="memname"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a> </td>
224           <td>(</td>
225           <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a> *&#160;</td>
226           <td class="paramname"><em>parent</em>, </td>
227         </tr>
228         <tr>
229           <td class="paramkey"></td>
230           <td></td>
231           <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
232           <td class="paramname"><em>tensor_shape</em>, </td>
233         </tr>
234         <tr>
235           <td class="paramkey"></td>
236           <td></td>
237           <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;&#160;</td>
238           <td class="paramname"><em>coords</em>, </td>
239         </tr>
240         <tr>
241           <td class="paramkey"></td>
242           <td></td>
243           <td class="paramtype">bool&#160;</td>
244           <td class="paramname"><em>extend_parent</em> = <code>false</code>&#160;</td>
245         </tr>
246         <tr>
247           <td></td>
248           <td>)</td>
249           <td></td><td></td>
250         </tr>
251       </table>
252 </div><div class="memdoc">
253
254 <p>Constructor. </p>
255 <dl class="params"><dt>Parameters</dt><dd>
256   <table class="params">
257     <tr><td class="paramdir">[in]</td><td class="paramname">parent</td><td>Parent tensor </td></tr>
258     <tr><td class="paramdir">[in]</td><td class="paramname">tensor_shape</td><td>Shape of the subtensor </td></tr>
259     <tr><td class="paramdir">[in]</td><td class="paramname">coords</td><td><a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> of the first subtensor element inside the parent tensor. </td></tr>
260     <tr><td class="paramdir">[in]</td><td class="paramname">extend_parent</td><td>(Optional) Extend parent with subtensor shape if subtensor indexes out of bounds </td></tr>
261   </table>
262   </dd>
263 </dl>
264
265 </div>
266 </div>
267 <a class="anchor" id="a3f3d38e602db0a6af8ac5e932d798617"></a>
268 <div class="memitem">
269 <div class="memproto">
270 <table class="mlabels">
271   <tr>
272   <td class="mlabels-left">
273       <table class="memname">
274         <tr>
275           <td class="memname">~<a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a> </td>
276           <td>(</td>
277           <td class="paramname"></td><td>)</td>
278           <td></td>
279         </tr>
280       </table>
281   </td>
282   <td class="mlabels-right">
283 <span class="mlabels"><span class="mlabel">default</span></span>  </td>
284   </tr>
285 </table>
286 </div><div class="memdoc">
287
288 <p>Destructor: free the tensor's memory. </p>
289
290 </div>
291 </div>
292 <a class="anchor" id="a3770cb2663115441657ca172d0df5bc5"></a>
293 <div class="memitem">
294 <div class="memproto">
295 <table class="mlabels">
296   <tr>
297   <td class="mlabels-left">
298       <table class="memname">
299         <tr>
300           <td class="memname"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a> </td>
301           <td>(</td>
302           <td class="paramtype">const <a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a> &amp;&#160;</td>
303           <td class="paramname"></td><td>)</td>
304           <td></td>
305         </tr>
306       </table>
307   </td>
308   <td class="mlabels-right">
309 <span class="mlabels"><span class="mlabel">delete</span></span>  </td>
310   </tr>
311 </table>
312 </div><div class="memdoc">
313
314 <p>Restrict instances of this class to be copy constructed. </p>
315
316 </div>
317 </div>
318 <a class="anchor" id="a65c6e5ec2b8035889c3114462010b612"></a>
319 <div class="memitem">
320 <div class="memproto">
321 <table class="mlabels">
322   <tr>
323   <td class="mlabels-left">
324       <table class="memname">
325         <tr>
326           <td class="memname"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a> </td>
327           <td>(</td>
328           <td class="paramtype"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a> &amp;&amp;&#160;</td>
329           <td class="paramname"></td><td>)</td>
330           <td></td>
331         </tr>
332       </table>
333   </td>
334   <td class="mlabels-right">
335 <span class="mlabels"><span class="mlabel">default</span></span>  </td>
336   </tr>
337 </table>
338 </div><div class="memdoc">
339
340 <p>Allow instances of this class to be move constructed. </p>
341
342 </div>
343 </div>
344 <h2 class="groupheader">Member Function Documentation</h2>
345 <a class="anchor" id="afd44a3d7dad6d984b1b87bc9f1b4fa02"></a>
346 <div class="memitem">
347 <div class="memproto">
348 <table class="mlabels">
349   <tr>
350   <td class="mlabels-left">
351       <table class="memname">
352         <tr>
353           <td class="memname">const cl::Buffer&amp; cl_buffer </td>
354           <td>(</td>
355           <td class="paramname"></td><td>)</td>
356           <td> const</td>
357         </tr>
358       </table>
359   </td>
360   <td class="mlabels-right">
361 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
362   </tr>
363 </table>
364 </div><div class="memdoc">
365
366 <p>Interface to be implemented by the child class to return a reference to the OpenCL buffer containing the image's data. </p>
367 <dl class="section return"><dt>Returns</dt><dd>A reference to an OpenCL buffer containing the image's data. </dd></dl>
368
369 <p>Implements <a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml#a1fb4c50755a0ef424652246838ed91a6">ICLTensor</a>.</p>
370
371 </div>
372 </div>
373 <a class="anchor" id="aa68535e0983cc60a425253a72b162661"></a>
374 <div class="memitem">
375 <div class="memproto">
376 <table class="mlabels">
377   <tr>
378   <td class="mlabels-left">
379       <table class="memname">
380         <tr>
381           <td class="memname"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a>* info </td>
382           <td>(</td>
383           <td class="paramname"></td><td>)</td>
384           <td> const</td>
385         </tr>
386       </table>
387   </td>
388   <td class="mlabels-right">
389 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
390   </tr>
391 </table>
392 </div><div class="memdoc">
393
394 <p>Interface to be implemented by the child class to return the tensor's metadata. </p>
395 <dl class="section return"><dt>Returns</dt><dd>A pointer to the tensor's metadata. </dd></dl>
396
397 <p>Implements <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor</a>.</p>
398
399 </div>
400 </div>
401 <a class="anchor" id="a8535070d127b492c6f2aeaf1ac2aae5b"></a>
402 <div class="memitem">
403 <div class="memproto">
404 <table class="mlabels">
405   <tr>
406   <td class="mlabels-left">
407       <table class="memname">
408         <tr>
409           <td class="memname"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a>* info </td>
410           <td>(</td>
411           <td class="paramname"></td><td>)</td>
412           <td></td>
413         </tr>
414       </table>
415   </td>
416   <td class="mlabels-right">
417 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
418   </tr>
419 </table>
420 </div><div class="memdoc">
421
422 <p>Interface to be implemented by the child class to return the tensor's metadata. </p>
423 <dl class="section return"><dt>Returns</dt><dd>A pointer to the tensor's metadata. </dd></dl>
424
425 <p>Implements <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a7e6b5e55a2914b1fb1966310e7733ac4">ITensor</a>.</p>
426
427 </div>
428 </div>
429 <a class="anchor" id="a14c53d2d17be6fa8a2c9861527c7b002"></a>
430 <div class="memitem">
431 <div class="memproto">
432       <table class="memname">
433         <tr>
434           <td class="memname">void map </td>
435           <td>(</td>
436           <td class="paramtype">bool&#160;</td>
437           <td class="paramname"><em>blocking</em> = <code>true</code></td><td>)</td>
438           <td></td>
439         </tr>
440       </table>
441 </div><div class="memdoc">
442
443 <p>Enqueue a map operation of the allocated buffer. </p>
444 <dl class="section note"><dt>Note</dt><dd>Mapping a subtensor will lead to the mapping of the whole parent tensor for now.</dd></dl>
445 <dl class="params"><dt>Parameters</dt><dd>
446   <table class="params">
447     <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. </td></tr>
448   </table>
449   </dd>
450 </dl>
451
452 </div>
453 </div>
454 <a class="anchor" id="a9e7404a38329c9f1fcce42b8098dc6f9"></a>
455 <div class="memitem">
456 <div class="memproto">
457 <table class="mlabels">
458   <tr>
459   <td class="mlabels-left">
460       <table class="memname">
461         <tr>
462           <td class="memname"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a>&amp; operator= </td>
463           <td>(</td>
464           <td class="paramtype">const <a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a> &amp;&#160;</td>
465           <td class="paramname"></td><td>)</td>
466           <td></td>
467         </tr>
468       </table>
469   </td>
470   <td class="mlabels-right">
471 <span class="mlabels"><span class="mlabel">delete</span></span>  </td>
472   </tr>
473 </table>
474 </div><div class="memdoc">
475
476 <p>Restrict instances of this class to be copied. </p>
477
478 </div>
479 </div>
480 <a class="anchor" id="aee53085b838758adfce05657de25f5c5"></a>
481 <div class="memitem">
482 <div class="memproto">
483 <table class="mlabels">
484   <tr>
485   <td class="mlabels-left">
486       <table class="memname">
487         <tr>
488           <td class="memname"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a>&amp; operator= </td>
489           <td>(</td>
490           <td class="paramtype"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a> &amp;&amp;&#160;</td>
491           <td class="paramname"></td><td>)</td>
492           <td></td>
493         </tr>
494       </table>
495   </td>
496   <td class="mlabels-right">
497 <span class="mlabels"><span class="mlabel">default</span></span>  </td>
498   </tr>
499 </table>
500 </div><div class="memdoc">
501
502 <p>Allow instances of this class to be moved. </p>
503
504 </div>
505 </div>
506 <a class="anchor" id="a47e6fa052a1d4a5db6dbf14126faa7ab"></a>
507 <div class="memitem">
508 <div class="memproto">
509       <table class="memname">
510         <tr>
511           <td class="memname"><a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a>* parent </td>
512           <td>(</td>
513           <td class="paramname"></td><td>)</td>
514           <td></td>
515         </tr>
516       </table>
517 </div><div class="memdoc">
518
519 <p>Return the parent tensor of the subtensor. </p>
520 <dl class="section return"><dt>Returns</dt><dd>Parent tensor </dd></dl>
521
522 </div>
523 </div>
524 <a class="anchor" id="a1ffeb3b5abb3d61f62b58a391816201c"></a>
525 <div class="memitem">
526 <div class="memproto">
527       <table class="memname">
528         <tr>
529           <td class="memname">void unmap </td>
530           <td>(</td>
531           <td class="paramname"></td><td>)</td>
532           <td></td>
533         </tr>
534       </table>
535 </div><div class="memdoc">
536
537 <p>Enqueue an unmap operation of the allocated and mapped buffer. </p>
538 <dl class="section note"><dt>Note</dt><dd>Unmapping a subtensor will lead to the unmapping of the whole parent tensor for now.</dd>
539 <dd>
540 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>
541
542 </div>
543 </div>
544 <hr/>The documentation for this class was generated from the following file:<ul>
545 <li>arm_compute/runtime/CL/<a class="el" href="_c_l_sub_tensor_8h_source.xhtml">CLSubTensor.h</a></li>
546 </ul>
547 </div><!-- contents -->
548 </div><!-- doc-content -->
549 <!-- start footer part -->
550 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
551   <ul>
552     <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_c_l_sub_tensor.xhtml">CLSubTensor</a></li>
553     <li class="footer">Generated on Fri Mar 2 2018 12:37:58 for Compute Library by
554     <a href="http://www.doxygen.org/index.html">
555     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
556   </ul>
557 </div>
558 </body>
559 </html>