<!-- 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: src/profiling/CommandHandlerRegistry.hpp Source File</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('_command_handler_registry_8hpp_source.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="headertitle">
<div class="title">CommandHandlerRegistry.hpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_command_handler_registry_8hpp.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// Copyright © 2017 Arm Ltd. All rights reserved.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// SPDX-License-Identifier: MIT</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_command_handler_functor_8hpp.xhtml">CommandHandlerFunctor.hpp</a>&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_command_handler_key_8hpp.xhtml">CommandHandlerKey.hpp</a>&quot;</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;boost/functional/hash.hpp&gt;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacearmnn.xhtml">armnn</a></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;{</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="keyword">namespace </span>profiling</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;{</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="structarmnn_1_1profiling_1_1_command_handler_hash.xhtml">   21</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarmnn_1_1profiling_1_1_command_handler_hash.xhtml">CommandHandlerHash</a></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;{</div><div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="structarmnn_1_1profiling_1_1_command_handler_hash.xhtml#a2b89c250eea88c8b9652b0d9b3ef3394">   23</a></span>&#160;    std::size_t <a class="code" href="structarmnn_1_1profiling_1_1_command_handler_hash.xhtml#a2b89c250eea88c8b9652b0d9b3ef3394">operator() </a>(<span class="keyword">const</span> <a class="code" href="classarmnn_1_1profiling_1_1_command_handler_key.xhtml">CommandHandlerKey</a>&amp; commandHandlerKey)<span class="keyword"> const</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;        std::size_t seed = 0;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;        boost::hash_combine(seed, commandHandlerKey.<a class="code" href="classarmnn_1_1profiling_1_1_command_handler_key.xhtml#a17b980d48f35a31c27a227e8ceae5402">GetPacketId</a>());</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;        boost::hash_combine(seed, commandHandlerKey.<a class="code" href="classarmnn_1_1profiling_1_1_command_handler_key.xhtml#a7a9568e40773e80ab38c1a7dac4e7089">GetVersion</a>());</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;        <span class="keywordflow">return</span> seed;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    }</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;};</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classarmnn_1_1profiling_1_1_command_handler_registry.xhtml">   32</a></span>&#160;<span class="keyword">class </span><a class="code" href="classarmnn_1_1profiling_1_1_command_handler_registry.xhtml">CommandHandlerRegistry</a></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_command_handler_registry.xhtml">CommandHandlerRegistry</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="keywordtype">void</span> RegisterFunctor(<a class="code" href="classarmnn_1_1profiling_1_1_command_handler_functor.xhtml">CommandHandlerFunctor</a>* functor, uint32_t familyId, uint32_t packetId, uint32_t version);</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordtype">void</span> RegisterFunctor(<a class="code" href="classarmnn_1_1profiling_1_1_command_handler_functor.xhtml">CommandHandlerFunctor</a>* functor);</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_command_handler_functor.xhtml">CommandHandlerFunctor</a>* GetFunctor(uint32_t familyId, uint32_t packetId, uint32_t version) <span class="keyword">const</span>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    std::unordered_map&lt;CommandHandlerKey, CommandHandlerFunctor*, CommandHandlerHash&gt; registry;</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="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;} <span class="comment">// namespace profiling</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;} <span class="comment">// namespace armnn</span></div><div class="ttc" id="structarmnn_1_1profiling_1_1_command_handler_hash_xhtml"><div class="ttname"><a href="structarmnn_1_1profiling_1_1_command_handler_hash.xhtml">armnn::profiling::CommandHandlerHash</a></div><div class="ttdef"><b>Definition:</b> <a href="_command_handler_registry_8hpp_source.xhtml#l00021">CommandHandlerRegistry.hpp:21</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_command_handler_key_xhtml_a17b980d48f35a31c27a227e8ceae5402"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_command_handler_key.xhtml#a17b980d48f35a31c27a227e8ceae5402">armnn::profiling::CommandHandlerKey::GetPacketId</a></div><div class="ttdeci">uint32_t GetPacketId() const</div><div class="ttdef"><b>Definition:</b> <a href="_command_handler_key_8cpp_source.xhtml#l00019">CommandHandlerKey.cpp:19</a></div></div>
<div class="ttc" id="_command_handler_functor_8hpp_xhtml"><div class="ttname"><a href="_command_handler_functor_8hpp.xhtml">CommandHandlerFunctor.hpp</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml"><div class="ttname"><a href="namespacearmnn.xhtml">armnn</a></div><div class="ttdoc">Copyright (c) 2020 ARM Limited. </div><div class="ttdef"><b>Definition:</b> <a href="00__introduction_8dox_source.xhtml#l00025">00_introduction.dox:25</a></div></div>
<div class="ttc" id="structarmnn_1_1profiling_1_1_command_handler_hash_xhtml_a2b89c250eea88c8b9652b0d9b3ef3394"><div class="ttname"><a href="structarmnn_1_1profiling_1_1_command_handler_hash.xhtml#a2b89c250eea88c8b9652b0d9b3ef3394">armnn::profiling::CommandHandlerHash::operator()</a></div><div class="ttdeci">std::size_t operator()(const CommandHandlerKey &amp;commandHandlerKey) const</div><div class="ttdef"><b>Definition:</b> <a href="_command_handler_registry_8hpp_source.xhtml#l00023">CommandHandlerRegistry.hpp:23</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_command_handler_registry_xhtml"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_command_handler_registry.xhtml">armnn::profiling::CommandHandlerRegistry</a></div><div class="ttdef"><b>Definition:</b> <a href="_command_handler_registry_8hpp_source.xhtml#l00032">CommandHandlerRegistry.hpp:32</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_command_handler_functor_xhtml"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_command_handler_functor.xhtml">armnn::profiling::CommandHandlerFunctor</a></div><div class="ttdef"><b>Definition:</b> <a href="_command_handler_functor_8hpp_source.xhtml#l00020">CommandHandlerFunctor.hpp:20</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_command_handler_key_xhtml_a7a9568e40773e80ab38c1a7dac4e7089"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_command_handler_key.xhtml#a7a9568e40773e80ab38c1a7dac4e7089">armnn::profiling::CommandHandlerKey::GetVersion</a></div><div class="ttdeci">uint32_t GetVersion() const</div><div class="ttdef"><b>Definition:</b> <a href="_command_handler_key_8cpp_source.xhtml#l00024">CommandHandlerKey.cpp:24</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_command_handler_key_xhtml"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_command_handler_key.xhtml">armnn::profiling::CommandHandlerKey</a></div><div class="ttdef"><b>Definition:</b> <a href="_command_handler_key_8hpp_source.xhtml#l00016">CommandHandlerKey.hpp:16</a></div></div>
<div class="ttc" id="_command_handler_key_8hpp_xhtml"><div class="ttname"><a href="_command_handler_key_8hpp.xhtml">CommandHandlerKey.hpp</a></div></div>
</div><!-- fragment --></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="dir_68267d1309a1af8e8297ef4c3efbcdba.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_637c692f14729569dd2eac0c18e2a54a.xhtml">profiling</a></li><li class="navelem"><a class="el" href="_command_handler_registry_8hpp.xhtml">CommandHandlerRegistry.hpp</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:13 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>
