<!-- Copyright (c) 2020 ARM Limited. -->
<!--                                 -->
<!-- SPDX-License-Identifier: MIT    -->
<!--                                 -->
<!-- HTML header for doxygen 1.8.13-->
<!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.13"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ArmNN: Holder Class 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">
  $(document).ready(initResizable);
</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" 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="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">20.02</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</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">
$(document).ready(function(){initNavTree('classarmnn_1_1profiling_1_1_holder.xhtml','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classarmnn_1_1profiling_1_1_holder-members.xhtml">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Holder Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_holder_8hpp_source.xhtml">Holder.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa0e031cc1a69643fc80783201454b428"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1profiling_1_1_holder.xhtml#aa0e031cc1a69643fc80783201454b428">Holder</a> ()</td></tr>
<tr class="separator:aa0e031cc1a69643fc80783201454b428"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95c8634416821480a8140c87054718f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1profiling_1_1_capture_data.xhtml">CaptureData</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1profiling_1_1_holder.xhtml#a95c8634416821480a8140c87054718f6">GetCaptureData</a> () const</td></tr>
<tr class="separator:a95c8634416821480a8140c87054718f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae904af7c6336ceeeb95ab8435047c7cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1profiling_1_1_holder.xhtml#ae904af7c6336ceeeb95ab8435047c7cb">SetCaptureData</a> (uint32_t capturePeriod, const std::vector&lt; uint16_t &gt; &amp;counterIds, const std::set&lt; <a class="el" href="classarmnn_1_1_backend_id.xhtml">armnn::BackendId</a> &gt; &amp;activeBackends)</td></tr>
<tr class="separator:ae904af7c6336ceeeb95ab8435047c7cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="_holder_8hpp_source.xhtml#l00051">51</a> of file <a class="el" href="_holder_8hpp_source.xhtml">Holder.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aa0e031cc1a69643fc80783201454b428"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0e031cc1a69643fc80783201454b428">&#9670;&nbsp;</a></span>Holder()</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="classarmnn_1_1profiling_1_1_holder.xhtml">Holder</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">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_holder_8hpp_source.xhtml#l00054">54</a> of file <a class="el" href="_holder_8hpp_source.xhtml">Holder.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        : m_CaptureData() {}</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a95c8634416821480a8140c87054718f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95c8634416821480a8140c87054718f6">&#9670;&nbsp;</a></span>GetCaptureData()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarmnn_1_1profiling_1_1_capture_data.xhtml">CaptureData</a> GetCaptureData </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_holder_8cpp_source.xhtml#l00054">54</a> of file <a class="el" href="_holder_8cpp_source.xhtml">Holder.cpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_profiling_tests_8cpp_source.xhtml#l00549">BOOST_AUTO_TEST_CASE()</a>, <a class="el" href="_profiling_tests_8cpp_source.xhtml#l00544">CaptureDataReadThreadImpl()</a>, <a class="el" href="_profiling_service_8cpp_source.xhtml#l00242">ProfilingService::GetCaptureData()</a>, <a class="el" href="_periodic_counter_selection_command_handler_8cpp_source.xhtml#l00059">PeriodicCounterSelectionCommandHandler::operator()()</a>, and <a class="el" href="_periodic_counter_capture_8cpp_source.xhtml#l00037">PeriodicCounterCapture::Stop()</a>.</p>
<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;{</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    std::lock_guard&lt;std::mutex&gt; lockGuard(m_CaptureThreadMutex);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordflow">return</span> m_CaptureData;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="ae904af7c6336ceeeb95ab8435047c7cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae904af7c6336ceeeb95ab8435047c7cb">&#9670;&nbsp;</a></span>SetCaptureData()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SetCaptureData </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>capturePeriod</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; uint16_t &gt; &amp;&#160;</td>
          <td class="paramname"><em>counterIds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::set&lt; <a class="el" href="classarmnn_1_1_backend_id.xhtml">armnn::BackendId</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>activeBackends</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_holder_8cpp_source.xhtml#l00074">74</a> of file <a class="el" href="_holder_8cpp_source.xhtml">Holder.cpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_profiling_tests_8cpp_source.xhtml#l02080">BOOST_AUTO_TEST_CASE()</a>, <a class="el" href="_profiling_tests_8cpp_source.xhtml#l00539">CaptureDataWriteThreadImpl()</a>, <a class="el" href="_periodic_counter_selection_command_handler_8cpp_source.xhtml#l00059">PeriodicCounterSelectionCommandHandler::operator()()</a>, and <a class="el" href="_profiling_service_8cpp_source.xhtml#l00247">ProfilingService::SetCaptureData()</a>.</p>
<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;{</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    std::lock_guard&lt;std::mutex&gt; lockGuard(m_CaptureThreadMutex);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    m_CaptureData.<a class="code" href="classarmnn_1_1profiling_1_1_capture_data.xhtml#afe10396cc1bc0b90637e6070351661e9">SetCapturePeriod</a>(capturePeriod);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    m_CaptureData.<a class="code" href="classarmnn_1_1profiling_1_1_capture_data.xhtml#af3d98d2ad9e92c4aa5fe7ef4732ac143">SetCounterIds</a>(counterIds);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    m_CaptureData.<a class="code" href="classarmnn_1_1profiling_1_1_capture_data.xhtml#a6cf584d99e273ff766db068b9fb040c5">SetActiveBackends</a>(activeBackends);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;}</div><div class="ttc" id="classarmnn_1_1profiling_1_1_capture_data_xhtml_a6cf584d99e273ff766db068b9fb040c5"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_capture_data.xhtml#a6cf584d99e273ff766db068b9fb040c5">armnn::profiling::CaptureData::SetActiveBackends</a></div><div class="ttdeci">void SetActiveBackends(const std::set&lt; armnn::BackendId &gt; &amp;activeBackends)</div><div class="ttdef"><b>Definition:</b> <a href="_holder_8cpp_source.xhtml#l00024">Holder.cpp:24</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_capture_data_xhtml_afe10396cc1bc0b90637e6070351661e9"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_capture_data.xhtml#afe10396cc1bc0b90637e6070351661e9">armnn::profiling::CaptureData::SetCapturePeriod</a></div><div class="ttdeci">void SetCapturePeriod(uint32_t capturePeriod)</div><div class="ttdef"><b>Definition:</b> <a href="_holder_8cpp_source.xhtml#l00029">Holder.cpp:29</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_capture_data_xhtml_af3d98d2ad9e92c4aa5fe7ef4732ac143"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_capture_data.xhtml#af3d98d2ad9e92c4aa5fe7ef4732ac143">armnn::profiling::CaptureData::SetCounterIds</a></div><div class="ttdeci">void SetCounterIds(const std::vector&lt; uint16_t &gt; &amp;counterIds)</div><div class="ttdef"><b>Definition:</b> <a href="_holder_8cpp_source.xhtml#l00034">Holder.cpp:34</a></div></div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/profiling/<a class="el" href="_holder_8hpp_source.xhtml">Holder.hpp</a></li>
<li>src/profiling/<a class="el" href="_holder_8cpp_source.xhtml">Holder.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacearmnn.xhtml">armnn</a></li><li class="navelem"><a class="el" href="namespacearmnn_1_1profiling.xhtml">profiling</a></li><li class="navelem"><a class="el" href="classarmnn_1_1profiling_1_1_holder.xhtml">Holder</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:21 for ArmNN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
