<!-- 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; Pooling2dDescriptor &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_pooling2d_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_pooling2d_descriptor_01_4-members.xhtml">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">StringifyLayerParameters&lt; Pooling2dDescriptor &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:a8b5ce7348bbdcc3b71a13356a89eee83"><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_pooling2d_descriptor_01_4.xhtml#a8b5ce7348bbdcc3b71a13356a89eee83">Serialize</a> (<a class="el" href="namespacearmnn.xhtml#a8c42c6647e31ebe525aeba878d133e45">ParameterStringifyFunction</a> &amp;fn, const <a class="el" href="structarmnn_1_1_pooling2d_descriptor.xhtml">Pooling2dDescriptor</a> &amp;desc)</td></tr>
<tr class="separator:a8b5ce7348bbdcc3b71a13356a89eee83"><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; Pooling2dDescriptor &gt;</h3>


<p class="definition">Definition at line <a class="el" href="_serialize_layer_parameters_8hpp_source.xhtml#l00058">58</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="a8b5ce7348bbdcc3b71a13356a89eee83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b5ce7348bbdcc3b71a13356a89eee83">&#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_pooling2d_descriptor.xhtml">Pooling2dDescriptor</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#l00110">110</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="_types_utils_8hpp_source.xhtml#l00190">armnn::GetDataLayoutName()</a>, <a class="el" href="_types_utils_8hpp_source.xhtml#l00095">armnn::GetOutputShapeRoundingAsCString()</a>, <a class="el" href="_types_utils_8hpp_source.xhtml#l00105">armnn::GetPaddingMethodAsCString()</a>, <a class="el" href="_types_utils_8hpp_source.xhtml#l00084">armnn::GetPoolingAlgorithmAsCString()</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00369">Pooling2dDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00365">Pooling2dDescriptor::m_OutputShapeRounding</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00355">Pooling2dDescriptor::m_PadBottom</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00367">Pooling2dDescriptor::m_PaddingMethod</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00349">Pooling2dDescriptor::m_PadLeft</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00351">Pooling2dDescriptor::m_PadRight</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00353">Pooling2dDescriptor::m_PadTop</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00359">Pooling2dDescriptor::m_PoolHeight</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00347">Pooling2dDescriptor::m_PoolType</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00357">Pooling2dDescriptor::m_PoolWidth</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00361">Pooling2dDescriptor::m_StrideX</a>, and <a class="el" href="_descriptors_8hpp_source.xhtml#l00363">Pooling2dDescriptor::m_StrideY</a>.</p>
<div class="fragment"><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;{</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    fn(<span class="stringliteral">&quot;Type&quot;</span>, <a class="code" href="namespacearmnn.xhtml#a517314c21ac5309b90408da162212f9d">GetPoolingAlgorithmAsCString</a>(desc.m_PoolType));</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    {</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        std::stringstream ss;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        ss &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; desc.m_PadTop    &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; desc.m_PadLeft</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;           &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; desc.m_PadBottom &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; desc.m_PadRight &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        fn(<span class="stringliteral">&quot;Padding(T,L,B,R)&quot;</span>, ss.str());</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    }</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    {</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        std::stringstream ss;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        ss &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; desc.m_PoolWidth    &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; desc.m_PoolHeight &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        fn(<span class="stringliteral">&quot;(Width,Height)&quot;</span>, ss.str());</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    }</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    {</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        std::stringstream ss;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        ss &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; desc.m_StrideX &lt;&lt;  <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; desc.m_StrideY &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        fn(<span class="stringliteral">&quot;Stride(X,Y)&quot;</span>, ss.str());</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    }</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    fn(<span class="stringliteral">&quot;OutputShapeRounding&quot;</span>, <a class="code" href="namespacearmnn.xhtml#a67d7ce2e14ebd328f423322db88279c3">GetOutputShapeRoundingAsCString</a>(desc.m_OutputShapeRounding));</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    fn(<span class="stringliteral">&quot;PaddingMethod&quot;</span>, <a class="code" href="namespacearmnn.xhtml#a129bde68152f5892e6abdedcb62aa983">GetPaddingMethodAsCString</a>(desc.m_PaddingMethod));</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    fn(<span class="stringliteral">&quot;DataLayout&quot;</span>, <a class="code" href="namespacearmnn.xhtml#aeef70b7611ae71e97ab55c75ef72b210">GetDataLayoutName</a>(desc.m_DataLayout));</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_aeef70b7611ae71e97ab55c75ef72b210"><div class="ttname"><a href="namespacearmnn.xhtml#aeef70b7611ae71e97ab55c75ef72b210">armnn::GetDataLayoutName</a></div><div class="ttdeci">constexpr const char * GetDataLayoutName(DataLayout dataLayout)</div><div class="ttdef"><b>Definition:</b> <a href="_types_utils_8hpp_source.xhtml#l00190">TypesUtils.hpp:190</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_a517314c21ac5309b90408da162212f9d"><div class="ttname"><a href="namespacearmnn.xhtml#a517314c21ac5309b90408da162212f9d">armnn::GetPoolingAlgorithmAsCString</a></div><div class="ttdeci">constexpr char const  * GetPoolingAlgorithmAsCString(PoolingAlgorithm pooling)</div><div class="ttdef"><b>Definition:</b> <a href="_types_utils_8hpp_source.xhtml#l00084">TypesUtils.hpp:84</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_a67d7ce2e14ebd328f423322db88279c3"><div class="ttname"><a href="namespacearmnn.xhtml#a67d7ce2e14ebd328f423322db88279c3">armnn::GetOutputShapeRoundingAsCString</a></div><div class="ttdeci">constexpr char const  * GetOutputShapeRoundingAsCString(OutputShapeRounding rounding)</div><div class="ttdef"><b>Definition:</b> <a href="_types_utils_8hpp_source.xhtml#l00095">TypesUtils.hpp:95</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_a129bde68152f5892e6abdedcb62aa983"><div class="ttname"><a href="namespacearmnn.xhtml#a129bde68152f5892e6abdedcb62aa983">armnn::GetPaddingMethodAsCString</a></div><div class="ttdeci">constexpr char const  * GetPaddingMethodAsCString(PaddingMethod method)</div><div class="ttdef"><b>Definition:</b> <a href="_types_utils_8hpp_source.xhtml#l00105">TypesUtils.hpp:105</a></div></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_pooling2d_descriptor_01_4.xhtml">StringifyLayerParameters&lt; Pooling2dDescriptor &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>
