blob: c6b4f1d9f7969c5c955d21cd47e6db369aabd0c0 [file] [log] [blame]
Nikhil Raj1dc83fe2024-05-16 09:47:51 +01001<!-- HTML header for doxygen 1.8.17-->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
8<meta name="viewport" content="width=device-width, initial-scale=1"/>
9<title>Arm NN: OutputHandler 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<link href="search/search.css" rel="stylesheet" type="text/css"/>
18<script type="text/javascript" src="search/searchdata.js"></script>
19<script type="text/javascript" src="search/search.js"></script>
20<script type="text/x-mathjax-config">
21 MathJax.Hub.Config({
22 extensions: ["tex2jax.js"],
23 jax: ["input/TeX","output/HTML-CSS"],
24});
25</script>
26<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
27<link href="doxygen.css" rel="stylesheet" type="text/css" />
28<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
29</head>
30<body>
31<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
32<div id="titlearea">
33<table cellspacing="0" cellpadding="0">
34 <tbody>
35 <tr style="height: 56px;">
36 <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
37 <td id="projectalign" style="padding-left: 0.9em;">
38 <div id="projectname">
39 &#160;<span id="projectnumber">24.05</span>
40 </div>
41 </td>
42 </tr>
43 </tbody>
44</table>
45</div>
46<!-- end header part -->
47<!-- Generated by Doxygen 1.8.17 -->
48<script type="text/javascript">
49/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
50var searchBox = new SearchBox("searchBox", "search",false,'Search');
51/* @license-end */
52</script>
53<script type="text/javascript" src="menudata.js"></script>
54<script type="text/javascript" src="menu.js"></script>
55<script type="text/javascript">
56/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
57$(function() {
58 initMenu('',true,false,'search.php','Search');
59 $(document).ready(function() { init_search(); });
60});
61/* @license-end */</script>
62<div id="main-nav"></div>
63</div><!-- top -->
64<div id="side-nav" class="ui-resizable side-nav-resizable">
65 <div id="nav-tree">
66 <div id="nav-tree-contents">
67 <div id="nav-sync" class="sync"></div>
68 </div>
69 </div>
70 <div id="splitbar" style="-moz-user-select:none;"
71 class="ui-resizable-handle">
72 </div>
73</div>
74<script type="text/javascript">
75/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
76$(document).ready(function(){initNavTree('classarmnn_1_1_output_handler.html',''); initResizable(); });
77/* @license-end */
78</script>
79<div id="doc-content">
80<!-- window showing the filter options -->
81<div id="MSearchSelectWindow"
82 onmouseover="return searchBox.OnSearchSelectShow()"
83 onmouseout="return searchBox.OnSearchSelectHide()"
84 onkeydown="return searchBox.OnSearchSelectKey(event)">
85</div>
86
87<!-- iframe showing the search results (closed by default) -->
88<div id="MSearchResultsWindow">
89<iframe src="javascript:void(0)" frameborder="0"
90 name="MSearchResults" id="MSearchResults">
91</iframe>
92</div>
93
94<div class="header">
95 <div class="summary">
96<a href="#pub-methods">Public Member Functions</a> &#124;
97<a href="classarmnn_1_1_output_handler-members.html">List of all members</a> </div>
98 <div class="headertitle">
99<div class="title">OutputHandler Class Reference</div> </div>
100</div><!--header-->
101<div class="contents">
102
103<p><code>#include &lt;<a class="el" href="_output_handler_8hpp_source.html">OutputHandler.hpp</a>&gt;</code></p>
104<table class="memberdecls">
105<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
106Public Member Functions</h2></td></tr>
107<tr class="memitem:a97db12c41024f5545ef5cc4153e5443b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_handler.html#a97db12c41024f5545ef5cc4153e5443b">SetTensorInfo</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;tensorInfo)</td></tr>
108<tr class="memdesc:a97db12c41024f5545ef5cc4153e5443b"><td class="mdescLeft">&#160;</td><td class="mdescRight"><ul>
109<li>Sets the <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> used by this output handler. </li>
110</ul>
111 <a href="classarmnn_1_1_output_handler.html#a97db12c41024f5545ef5cc4153e5443b">More...</a><br /></td></tr>
112<tr class="separator:a97db12c41024f5545ef5cc4153e5443b"><td class="memSeparator" colspan="2">&#160;</td></tr>
113<tr class="memitem:abdad6d5574323cbbca22ddd158e66759"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_handler.html#abdad6d5574323cbbca22ddd158e66759">CreateTensorHandles</a> (const <a class="el" href="classarmnn_1_1_i_workload_factory.html">IWorkloadFactory</a> &amp;factory, const bool IsMemoryManaged=true)</td></tr>
114<tr class="memdesc:abdad6d5574323cbbca22ddd158e66759"><td class="mdescLeft">&#160;</td><td class="mdescRight"><ul>
115<li>Creates tensor handles used by the intermediate tensors. </li>
116</ul>
117 <a href="classarmnn_1_1_output_handler.html#abdad6d5574323cbbca22ddd158e66759">More...</a><br /></td></tr>
118<tr class="separator:abdad6d5574323cbbca22ddd158e66759"><td class="memSeparator" colspan="2">&#160;</td></tr>
119<tr class="memitem:a215e032fe5f2a1232d84888c041cd3a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_handler.html#a215e032fe5f2a1232d84888c041cd3a5">CreateTensorHandles</a> (const <a class="el" href="classarmnn_1_1_i_tensor_handle_factory.html">ITensorHandleFactory</a> &amp;factory, const bool IsMemoryManaged=true)</td></tr>
120<tr class="separator:a215e032fe5f2a1232d84888c041cd3a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
121<tr class="memitem:a66e8f43a5b42b500871ed96e15419567"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_handler.html#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a> () const</td></tr>
122<tr class="memdesc:a66e8f43a5b42b500871ed96e15419567"><td class="mdescLeft">&#160;</td><td class="mdescRight"><ul>
123<li>Gets the matching <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> for the output. </li>
124</ul>
125 <a href="classarmnn_1_1_output_handler.html#a66e8f43a5b42b500871ed96e15419567">More...</a><br /></td></tr>
126<tr class="separator:a66e8f43a5b42b500871ed96e15419567"><td class="memSeparator" colspan="2">&#160;</td></tr>
127<tr class="memitem:afe3429ac30b180c11f01ea0f9f546f0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_tensor_handle.html">ITensorHandle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_handler.html#afe3429ac30b180c11f01ea0f9f546f0e">GetData</a> () const</td></tr>
128<tr class="memdesc:afe3429ac30b180c11f01ea0f9f546f0e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><ul>
129<li>Gets the allocated tensor memory. </li>
130</ul>
131 <a href="classarmnn_1_1_output_handler.html#afe3429ac30b180c11f01ea0f9f546f0e">More...</a><br /></td></tr>
132<tr class="separator:afe3429ac30b180c11f01ea0f9f546f0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<tr class="memitem:a9a0cf27287d6b104547d2177e4a0a3ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_handler.html#a9a0cf27287d6b104547d2177e4a0a3ee">CollectWorkloadOutputs</a> (<a class="el" href="classarmnn_1_1_workload_data_collector.html">WorkloadDataCollector</a> &amp;dataCollector) const</td></tr>
134<tr class="memdesc:a9a0cf27287d6b104547d2177e4a0a3ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill the outputs for a given queue descriptor. <a href="classarmnn_1_1_output_handler.html#a9a0cf27287d6b104547d2177e4a0a3ee">More...</a><br /></td></tr>
135<tr class="separator:a9a0cf27287d6b104547d2177e4a0a3ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
136<tr class="memitem:a714596a278cb512fb2368c9293118455"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_handler.html#a714596a278cb512fb2368c9293118455">SetData</a> (std::unique_ptr&lt; <a class="el" href="classarmnn_1_1_i_tensor_handle.html">ITensorHandle</a> &gt; data)</td></tr>
137<tr class="separator:a714596a278cb512fb2368c9293118455"><td class="memSeparator" colspan="2">&#160;</td></tr>
138<tr class="memitem:a92458464eb591660dc937cd06905ca64"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_handler.html#a92458464eb591660dc937cd06905ca64">SetAllocatedData</a> ()</td></tr>
139<tr class="separator:a92458464eb591660dc937cd06905ca64"><td class="memSeparator" colspan="2">&#160;</td></tr>
140<tr class="memitem:ab7149b0db37597fee6d13d4a1727df70"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_handler.html#ab7149b0db37597fee6d13d4a1727df70">UseAllocatedData</a> ()</td></tr>
141<tr class="separator:ab7149b0db37597fee6d13d4a1727df70"><td class="memSeparator" colspan="2">&#160;</td></tr>
142<tr class="memitem:aca366a3098776fdd06f23e9f9329721b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_handler.html#aca366a3098776fdd06f23e9f9329721b">IsTensorInfoSet</a> () const</td></tr>
143<tr class="memdesc:aca366a3098776fdd06f23e9f9329721b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if <a class="el" href="classarmnn_1_1_output_handler.html#a97db12c41024f5545ef5cc4153e5443b" title="Sets the TensorInfo used by this output handler.">SetTensorInfo()</a> has been called at least once on this. <a href="classarmnn_1_1_output_handler.html#aca366a3098776fdd06f23e9f9329721b">More...</a><br /></td></tr>
144<tr class="separator:aca366a3098776fdd06f23e9f9329721b"><td class="memSeparator" colspan="2">&#160;</td></tr>
145</table>
146<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
147<div class="textblock">
148<p class="definition">Definition at line <a class="el" href="_output_handler_8hpp_source.html#l00028">28</a> of file <a class="el" href="_output_handler_8hpp_source.html">OutputHandler.hpp</a>.</p>
149</div><h2 class="groupheader">Member Function Documentation</h2>
150<a id="a9a0cf27287d6b104547d2177e4a0a3ee"></a>
151<h2 class="memtitle"><span class="permalink"><a href="#a9a0cf27287d6b104547d2177e4a0a3ee">&#9670;&nbsp;</a></span>CollectWorkloadOutputs()</h2>
152
153<div class="memitem">
154<div class="memproto">
155 <table class="memname">
156 <tr>
157 <td class="memname">void CollectWorkloadOutputs </td>
158 <td>(</td>
159 <td class="paramtype"><a class="el" href="classarmnn_1_1_workload_data_collector.html">WorkloadDataCollector</a> &amp;&#160;</td>
160 <td class="paramname"><em>dataCollector</em></td><td>)</td>
161 <td> const</td>
162 </tr>
163 </table>
164</div><div class="memdoc">
165
166<p>Fill the outputs for a given queue descriptor. </p>
167
168<p class="definition">Definition at line <a class="el" href="_output_handler_8cpp_source.html#l00033">33</a> of file <a class="el" href="_output_handler_8cpp_source.html">OutputHandler.cpp</a>.</p>
169<div class="fragment"><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{</div>
170<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; dataCollector.Push(m_TensorHandle.get(), m_TensorInfo);</div>
171<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;}</div>
172</div><!-- fragment -->
173<p class="reference">References <a class="el" href="_workload_data_collector_8hpp_source.html#l00024">WorkloadDataCollector::Push()</a>.</p>
174
175</div>
176</div>
177<a id="a215e032fe5f2a1232d84888c041cd3a5"></a>
178<h2 class="memtitle"><span class="permalink"><a href="#a215e032fe5f2a1232d84888c041cd3a5">&#9670;&nbsp;</a></span>CreateTensorHandles() <span class="overload">[1/2]</span></h2>
179
180<div class="memitem">
181<div class="memproto">
182 <table class="memname">
183 <tr>
184 <td class="memname">void CreateTensorHandles </td>
185 <td>(</td>
186 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_tensor_handle_factory.html">ITensorHandleFactory</a> &amp;&#160;</td>
187 <td class="paramname"><em>factory</em>, </td>
188 </tr>
189 <tr>
190 <td class="paramkey"></td>
191 <td></td>
192 <td class="paramtype">const bool&#160;</td>
193 <td class="paramname"><em>IsMemoryManaged</em> = <code>true</code>&#160;</td>
194 </tr>
195 <tr>
196 <td></td>
197 <td>)</td>
198 <td></td><td></td>
199 </tr>
200 </table>
201</div><div class="memdoc">
202
203<p class="definition">Definition at line <a class="el" href="_output_handler_8cpp_source.html#l00028">28</a> of file <a class="el" href="_output_handler_8cpp_source.html">OutputHandler.cpp</a>.</p>
204<div class="fragment"><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div>
205<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; m_TensorHandle = factory.CreateTensorHandle(m_TensorInfo, IsMemoryManaged);</div>
206<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;}</div>
207</div><!-- fragment -->
208<p class="reference">References <a class="el" href="classarmnn_1_1_i_tensor_handle_factory.html#a375f11dd42ff042435e8771cf287b20c">ITensorHandleFactory::CreateTensorHandle()</a>.</p>
209
210</div>
211</div>
212<a id="abdad6d5574323cbbca22ddd158e66759"></a>
213<h2 class="memtitle"><span class="permalink"><a href="#abdad6d5574323cbbca22ddd158e66759">&#9670;&nbsp;</a></span>CreateTensorHandles() <span class="overload">[2/2]</span></h2>
214
215<div class="memitem">
216<div class="memproto">
217 <table class="memname">
218 <tr>
219 <td class="memname">void CreateTensorHandles </td>
220 <td>(</td>
221 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_workload_factory.html">IWorkloadFactory</a> &amp;&#160;</td>
222 <td class="paramname"><em>factory</em>, </td>
223 </tr>
224 <tr>
225 <td class="paramkey"></td>
226 <td></td>
227 <td class="paramtype">const bool&#160;</td>
228 <td class="paramname"><em>IsMemoryManaged</em> = <code>true</code>&#160;</td>
229 </tr>
230 <tr>
231 <td></td>
232 <td>)</td>
233 <td></td><td></td>
234 </tr>
235 </table>
236</div><div class="memdoc">
237
238<p><ul>
239<li>Creates tensor handles used by the intermediate tensors. </li>
240</ul>
241</p>
242<p>Does not allocate memory. </p><dl class="params"><dt>Parameters</dt><dd>
243 <table class="params">
244 <tr><td class="paramname">factory</td><td>- Factory to be used for handler creation. </td></tr>
245 </table>
246 </dd>
247</dl>
248
249<p class="definition">Definition at line <a class="el" href="_output_handler_8cpp_source.html#l00021">21</a> of file <a class="el" href="_output_handler_8cpp_source.html">OutputHandler.cpp</a>.</p>
250<div class="fragment"><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;{</div>
251<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <a class="code" href="_deprecated_8hpp.html#ab66a241a0ed3ee89c866e777b035d0ed">ARMNN_NO_DEPRECATE_WARN_BEGIN</a></div>
252<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; m_TensorHandle = factory.CreateTensorHandle(m_TensorInfo, IsMemoryManaged);</div>
253<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <a class="code" href="_deprecated_8hpp.html#ad762b11b48e5c1d1c1743f529485728a">ARMNN_NO_DEPRECATE_WARN_END</a></div>
254<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;}</div>
255</div><!-- fragment -->
256<p class="reference">References <a class="el" href="_deprecated_8hpp_source.html#l00033">ARMNN_NO_DEPRECATE_WARN_BEGIN</a>, <a class="el" href="_deprecated_8hpp_source.html#l00034">ARMNN_NO_DEPRECATE_WARN_END</a>, and <a class="el" href="classarmnn_1_1_i_workload_factory.html#a15c140be4ddceffee16436f009d3ed94">IWorkloadFactory::CreateTensorHandle()</a>.</p>
257
258<p class="reference">Referenced by <a class="el" href="_layer_8cpp_source.html#l00308">Layer::CreateTensorHandles()</a>.</p>
259
260</div>
261</div>
262<a id="afe3429ac30b180c11f01ea0f9f546f0e"></a>
263<h2 class="memtitle"><span class="permalink"><a href="#afe3429ac30b180c11f01ea0f9f546f0e">&#9670;&nbsp;</a></span>GetData()</h2>
264
265<div class="memitem">
266<div class="memproto">
267<table class="mlabels">
268 <tr>
269 <td class="mlabels-left">
270 <table class="memname">
271 <tr>
272 <td class="memname"><a class="el" href="classarmnn_1_1_i_tensor_handle.html">ITensorHandle</a>* GetData </td>
273 <td>(</td>
274 <td class="paramname"></td><td>)</td>
275 <td> const</td>
276 </tr>
277 </table>
278 </td>
279 <td class="mlabels-right">
280<span class="mlabels"><span class="mlabel">inline</span></span> </td>
281 </tr>
282</table>
283</div><div class="memdoc">
284
285<p><ul>
286<li>Gets the allocated tensor memory. </li>
287</ul>
288</p>
289<dl class="section return"><dt>Returns</dt><dd>- Pointer to the tensor memory. </dd></dl>
290
291<p class="definition">Definition at line <a class="el" href="_output_handler_8hpp_source.html#l00046">46</a> of file <a class="el" href="_output_handler_8hpp_source.html">OutputHandler.hpp</a>.</p>
292<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{ <span class="keywordflow">return</span> m_TensorHandle.get(); }</div>
293</div><!-- fragment -->
294<p class="reference">Referenced by <a class="el" href="_loaded_network_8cpp_source.html#l00872">LoadedNetwork::EnqueueWorkload()</a>.</p>
295
296</div>
297</div>
298<a id="a66e8f43a5b42b500871ed96e15419567"></a>
299<h2 class="memtitle"><span class="permalink"><a href="#a66e8f43a5b42b500871ed96e15419567">&#9670;&nbsp;</a></span>GetTensorInfo()</h2>
300
301<div class="memitem">
302<div class="memproto">
303<table class="mlabels">
304 <tr>
305 <td class="mlabels-left">
306 <table class="memname">
307 <tr>
308 <td class="memname">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a>&amp; GetTensorInfo </td>
309 <td>(</td>
310 <td class="paramname"></td><td>)</td>
311 <td> const</td>
312 </tr>
313 </table>
314 </td>
315 <td class="mlabels-right">
316<span class="mlabels"><span class="mlabel">inline</span></span> </td>
317 </tr>
318</table>
319</div><div class="memdoc">
320
321<p><ul>
322<li>Gets the matching <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> for the output. </li>
323</ul>
324</p>
325<dl class="section return"><dt>Returns</dt><dd>- References to the output <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a>. </dd></dl>
326
327<p class="definition">Definition at line <a class="el" href="_output_handler_8hpp_source.html#l00042">42</a> of file <a class="el" href="_output_handler_8hpp_source.html">OutputHandler.hpp</a>.</p>
328<div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{ <span class="keywordflow">return</span> m_TensorInfo; }</div>
329</div><!-- fragment -->
330<p class="reference">Referenced by <a class="el" href="_layer_8cpp_source.html#l00100">OutputSlot::GetTensorInfo()</a>, <a class="el" href="_transpose_as_reshape_8hpp_source.html#l00018">TransposeAsReshapeImpl::Run()</a>, <a class="el" href="_permute_as_reshape_8hpp_source.html#l00018">PermuteAsReshapeImpl::Run()</a>, <a class="el" href="_optimize_consecutive_reshapes_8hpp_source.html#l00019">OptimizeConsecutiveReshapesImpl::Run()</a>, and <a class="el" href="_layer_8cpp_source.html#l00114">OutputSlot::ValidateTensorShape()</a>.</p>
331
332</div>
333</div>
334<a id="aca366a3098776fdd06f23e9f9329721b"></a>
335<h2 class="memtitle"><span class="permalink"><a href="#aca366a3098776fdd06f23e9f9329721b">&#9670;&nbsp;</a></span>IsTensorInfoSet()</h2>
336
337<div class="memitem">
338<div class="memproto">
339<table class="mlabels">
340 <tr>
341 <td class="mlabels-left">
342 <table class="memname">
343 <tr>
344 <td class="memname">bool IsTensorInfoSet </td>
345 <td>(</td>
346 <td class="paramname"></td><td>)</td>
347 <td> const</td>
348 </tr>
349 </table>
350 </td>
351 <td class="mlabels-right">
352<span class="mlabels"><span class="mlabel">inline</span></span> </td>
353 </tr>
354</table>
355</div><div class="memdoc">
356
357<p>Returns true if <a class="el" href="classarmnn_1_1_output_handler.html#a97db12c41024f5545ef5cc4153e5443b" title="Sets the TensorInfo used by this output handler.">SetTensorInfo()</a> has been called at least once on this. </p>
358
359<p class="definition">Definition at line <a class="el" href="_output_handler_8hpp_source.html#l00058">58</a> of file <a class="el" href="_output_handler_8hpp_source.html">OutputHandler.hpp</a>.</p>
360<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;{ <span class="keywordflow">return</span> m_bTensorInfoSet; }</div>
361</div><!-- fragment -->
362<p class="reference">Referenced by <a class="el" href="_layer_8cpp_source.html#l00105">OutputSlot::IsTensorInfoSet()</a>.</p>
363
364</div>
365</div>
366<a id="a92458464eb591660dc937cd06905ca64"></a>
367<h2 class="memtitle"><span class="permalink"><a href="#a92458464eb591660dc937cd06905ca64">&#9670;&nbsp;</a></span>SetAllocatedData()</h2>
368
369<div class="memitem">
370<div class="memproto">
371 <table class="memname">
372 <tr>
373 <td class="memname">void SetAllocatedData </td>
374 <td>(</td>
375 <td class="paramname"></td><td>)</td>
376 <td></td>
377 </tr>
378 </table>
379</div><div class="memdoc">
380
381<p class="definition">Definition at line <a class="el" href="_output_handler_8cpp_source.html#l00038">38</a> of file <a class="el" href="_output_handler_8cpp_source.html">OutputHandler.cpp</a>.</p>
382<div class="fragment"><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div>
383<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">// Set allocated data only once</span></div>
384<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">if</span> (!m_AllocatedTensorHandle)</div>
385<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; {</div>
386<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; m_AllocatedTensorHandle = std::move(m_TensorHandle);</div>
387<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; }</div>
388<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;}</div>
389</div><!-- fragment -->
390</div>
391</div>
392<a id="a714596a278cb512fb2368c9293118455"></a>
393<h2 class="memtitle"><span class="permalink"><a href="#a714596a278cb512fb2368c9293118455">&#9670;&nbsp;</a></span>SetData()</h2>
394
395<div class="memitem">
396<div class="memproto">
397<table class="mlabels">
398 <tr>
399 <td class="mlabels-left">
400 <table class="memname">
401 <tr>
402 <td class="memname">void SetData </td>
403 <td>(</td>
404 <td class="paramtype">std::unique_ptr&lt; <a class="el" href="classarmnn_1_1_i_tensor_handle.html">ITensorHandle</a> &gt;&#160;</td>
405 <td class="paramname"><em>data</em></td><td>)</td>
406 <td></td>
407 </tr>
408 </table>
409 </td>
410 <td class="mlabels-right">
411<span class="mlabels"><span class="mlabel">inline</span></span> </td>
412 </tr>
413</table>
414</div><div class="memdoc">
415
416<p class="definition">Definition at line <a class="el" href="_output_handler_8hpp_source.html#l00051">51</a> of file <a class="el" href="_output_handler_8hpp_source.html">OutputHandler.hpp</a>.</p>
417<div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{ m_TensorHandle = std::move(data); }</div>
418</div><!-- fragment -->
419</div>
420</div>
421<a id="a97db12c41024f5545ef5cc4153e5443b"></a>
422<h2 class="memtitle"><span class="permalink"><a href="#a97db12c41024f5545ef5cc4153e5443b">&#9670;&nbsp;</a></span>SetTensorInfo()</h2>
423
424<div class="memitem">
425<div class="memproto">
426 <table class="memname">
427 <tr>
428 <td class="memname">void SetTensorInfo </td>
429 <td>(</td>
430 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
431 <td class="paramname"><em>tensorInfo</em></td><td>)</td>
432 <td></td>
433 </tr>
434 </table>
435</div><div class="memdoc">
436
437<p><ul>
438<li>Sets the <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> used by this output handler. </li>
439</ul>
440</p>
441<dl class="params"><dt>Parameters</dt><dd>
442 <table class="params">
443 <tr><td class="paramname">tensorInfo</td><td>- <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> for the output. </td></tr>
444 </table>
445 </dd>
446</dl>
447
448<p class="definition">Definition at line <a class="el" href="_output_handler_8cpp_source.html#l00015">15</a> of file <a class="el" href="_output_handler_8cpp_source.html">OutputHandler.cpp</a>.</p>
449<div class="fragment"><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;{</div>
450<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; m_TensorInfo = tensorInfo;</div>
451<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; m_bTensorInfoSet = <span class="keyword">true</span>;</div>
452<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;}</div>
453</div><!-- fragment -->
454<p class="reference">Referenced by <a class="el" href="_layer_8cpp_source.html#l00053">InputSlot::Insert()</a>, <a class="el" href="_layer_8cpp_source.html#l00156">OutputSlot::MoveAllConnections()</a>, <a class="el" href="_delete_broadcast_to_8hpp_source.html#l00019">DeleteBroadcastToImpl::Run()</a>, <a class="el" href="_move_permute_up_8hpp_source.html#l00023">MovePermuteUpImpl::Run()</a>, <a class="el" href="_move_transpose_up_8hpp_source.html#l00023">MoveTransposeUpImpl::Run()</a>, and <a class="el" href="_layer_8cpp_source.html#l00095">OutputSlot::SetTensorInfo()</a>.</p>
455
456</div>
457</div>
458<a id="ab7149b0db37597fee6d13d4a1727df70"></a>
459<h2 class="memtitle"><span class="permalink"><a href="#ab7149b0db37597fee6d13d4a1727df70">&#9670;&nbsp;</a></span>UseAllocatedData()</h2>
460
461<div class="memitem">
462<div class="memproto">
463<table class="mlabels">
464 <tr>
465 <td class="mlabels-left">
466 <table class="memname">
467 <tr>
468 <td class="memname">void UseAllocatedData </td>
469 <td>(</td>
470 <td class="paramname"></td><td>)</td>
471 <td></td>
472 </tr>
473 </table>
474 </td>
475 <td class="mlabels-right">
476<span class="mlabels"><span class="mlabel">inline</span></span> </td>
477 </tr>
478</table>
479</div><div class="memdoc">
480
481<p class="definition">Definition at line <a class="el" href="_output_handler_8hpp_source.html#l00055">55</a> of file <a class="el" href="_output_handler_8hpp_source.html">OutputHandler.hpp</a>.</p>
482<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;{ m_TensorHandle = m_AllocatedTensorHandle; }</div>
483</div><!-- fragment -->
484</div>
485</div>
486<hr/>The documentation for this class was generated from the following files:<ul>
487<li>src/armnn/<a class="el" href="_output_handler_8hpp_source.html">OutputHandler.hpp</a></li>
488<li>src/armnn/<a class="el" href="_output_handler_8cpp_source.html">OutputHandler.cpp</a></li>
489</ul>
490</div><!-- contents -->
491</div><!-- doc-content -->
492<div class="ttc" id="a_deprecated_8hpp_html_ab66a241a0ed3ee89c866e777b035d0ed"><div class="ttname"><a href="_deprecated_8hpp.html#ab66a241a0ed3ee89c866e777b035d0ed">ARMNN_NO_DEPRECATE_WARN_BEGIN</a></div><div class="ttdeci">#define ARMNN_NO_DEPRECATE_WARN_BEGIN</div><div class="ttdef"><b>Definition:</b> <a href="_deprecated_8hpp_source.html#l00033">Deprecated.hpp:33</a></div></div>
493<div class="ttc" id="a_deprecated_8hpp_html_ad762b11b48e5c1d1c1743f529485728a"><div class="ttname"><a href="_deprecated_8hpp.html#ad762b11b48e5c1d1c1743f529485728a">ARMNN_NO_DEPRECATE_WARN_END</a></div><div class="ttdeci">#define ARMNN_NO_DEPRECATE_WARN_END</div><div class="ttdef"><b>Definition:</b> <a href="_deprecated_8hpp_source.html#l00034">Deprecated.hpp:34</a></div></div>
494<!-- start footer part -->
495<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
496 <ul>
497 <li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_output_handler.html">OutputHandler</a></li>
498 <li class="footer">Generated on Thu May 16 2024 09:31:58 for Arm NN by
499 <a href="http://www.doxygen.org/index.html">
500 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
501 </ul>
502</div>
503</body>
504</html>