<!-- 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: StringifyLayerParameters&lt; OriginsDescriptor &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(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('structarmnn_1_1_stringify_layer_parameters_3_01_origins_descriptor_01_4.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-static-methods">Static Public Member Functions</a> &#124;
<a href="structarmnn_1_1_stringify_layer_parameters_3_01_origins_descriptor_01_4-members.xhtml">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">StringifyLayerParameters&lt; OriginsDescriptor &gt; Struct Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_serialize_layer_parameters_8hpp_source.xhtml">SerializeLayerParameters.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a2982c5da6770f8c885b56befc2060f32"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_stringify_layer_parameters_3_01_origins_descriptor_01_4.xhtml#a2982c5da6770f8c885b56befc2060f32">Serialize</a> (<a class="el" href="namespacearmnn.xhtml#a8c42c6647e31ebe525aeba878d133e45">ParameterStringifyFunction</a> &amp;fn, const <a class="el" href="structarmnn_1_1_origins_descriptor.xhtml">OriginsDescriptor</a> &amp;desc)</td></tr>
<tr class="separator:a2982c5da6770f8c885b56befc2060f32"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;&gt;<br />
struct armnn::StringifyLayerParameters&lt; OriginsDescriptor &gt;</h3>


<p class="definition">Definition at line <a class="el" href="_serialize_layer_parameters_8hpp_source.xhtml#l00073">73</a> of file <a class="el" href="_serialize_layer_parameters_8hpp_source.xhtml">SerializeLayerParameters.hpp</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a2982c5da6770f8c885b56befc2060f32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2982c5da6770f8c885b56befc2060f32">&#9670;&nbsp;</a></span>Serialize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Serialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacearmnn.xhtml#a8c42c6647e31ebe525aeba878d133e45">ParameterStringifyFunction</a> &amp;&#160;</td>
          <td class="paramname"><em>fn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structarmnn_1_1_origins_descriptor.xhtml">OriginsDescriptor</a> &amp;&#160;</td>
          <td class="paramname"><em>desc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_serialize_layer_parameters_8cpp_source.xhtml#l00152">152</a> of file <a class="el" href="_serialize_layer_parameters_8cpp_source.xhtml">SerializeLayerParameters.cpp</a>.</p>

<p class="reference">References <a class="el" href="_descriptors_8cpp_source.xhtml#l00154">OriginsDescriptor::GetConcatAxis()</a>, <a class="el" href="_descriptors_8cpp_source.xhtml#l00184">OriginsDescriptor::GetNumDimensions()</a>, <a class="el" href="_descriptors_8cpp_source.xhtml#l00179">OriginsDescriptor::GetNumViews()</a>, and <a class="el" href="_descriptors_8cpp_source.xhtml#l00189">OriginsDescriptor::GetViewOrigin()</a>.</p>
<div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;{</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    fn(<span class="stringliteral">&quot;ConcatAxis&quot;</span>, std::to_string(desc.GetConcatAxis()));</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    uint32_t numViews = desc.GetNumViews();</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    uint32_t numDims  = desc.GetNumDimensions();</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    <span class="keywordflow">for</span> (uint32_t view = 0; view &lt; numViews; ++view)</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    {</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        std::stringstream key;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        key &lt;&lt; <span class="stringliteral">&quot;MergeTo#&quot;</span> &lt;&lt; view;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        std::stringstream value;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        value &lt;&lt; <span class="stringliteral">&quot;[&quot;</span>;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        <span class="keyword">auto</span> viewData = desc.GetViewOrigin(view);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        <span class="keywordflow">for</span> (uint32_t dim = 0; dim &lt; numDims; ++dim)</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        {</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;            <span class="keywordflow">if</span> (dim &gt; 0)</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;            {</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;                value &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;            }</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;            value &lt;&lt; viewData[dim];</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        }</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        value &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        fn(key.str(), value.str());</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    }</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>src/armnn/<a class="el" href="_serialize_layer_parameters_8hpp_source.xhtml">SerializeLayerParameters.hpp</a></li>
<li>src/armnn/<a class="el" href="_serialize_layer_parameters_8cpp_source.xhtml">SerializeLayerParameters.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="structarmnn_1_1_stringify_layer_parameters_3_01_origins_descriptor_01_4.xhtml">StringifyLayerParameters&lt; OriginsDescriptor &gt;</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:20 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>
