<!-- HTML header for doxygen 1.8.17-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Arm NN: TransposeDescriptor Struct 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>
<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" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.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: 15rem; margin-top: .5rem; margin-left 13px"/>
  <td id="projectalign" style="padding-left: 0.9em;">
   <div id="projectname">
   &#160;<span id="projectnumber">24.02</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('structarmnn_1_1_transpose_descriptor.html',''); initResizable(); });
/* @license-end */
</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="#pub-attribs">Public Attributes</a> &#124;
<a href="structarmnn_1_1_transpose_descriptor-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">TransposeDescriptor Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A <a class="el" href="structarmnn_1_1_transpose_descriptor.html" title="A TransposeDescriptor for the TransposeLayer.">TransposeDescriptor</a> for the <a class="el" href="classarmnn_1_1_transpose_layer.html" title="This layer represents a transpose operation.">TransposeLayer</a>.  
 <a href="structarmnn_1_1_transpose_descriptor.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for TransposeDescriptor:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="structarmnn_1_1_transpose_descriptor__inherit__graph.svg" width="166" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for TransposeDescriptor:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="structarmnn_1_1_transpose_descriptor__coll__graph.svg" width="308" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<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:af4d882230882f20ef1500510e5ff4c87"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_transpose_descriptor.html#af4d882230882f20ef1500510e5ff4c87">TransposeDescriptor</a> ()</td></tr>
<tr class="separator:af4d882230882f20ef1500510e5ff4c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7fbf819ce2bbdbdc55d546dd40a1213"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_transpose_descriptor.html#ae7fbf819ce2bbdbdc55d546dd40a1213">TransposeDescriptor</a> (const <a class="el" href="classarmnn_1_1_permutation_vector.html">PermutationVector</a> &amp;dimMappings)</td></tr>
<tr class="separator:ae7fbf819ce2bbdbdc55d546dd40a1213"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08d0e3a8b7b074f7c101366f0d431c47"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_transpose_descriptor.html#a08d0e3a8b7b074f7c101366f0d431c47">operator==</a> (const <a class="el" href="structarmnn_1_1_transpose_descriptor.html">TransposeDescriptor</a> &amp;rhs) const</td></tr>
<tr class="separator:a08d0e3a8b7b074f7c101366f0d431c47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_structarmnn_1_1_base_descriptor"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structarmnn_1_1_base_descriptor')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="structarmnn_1_1_base_descriptor.html">BaseDescriptor</a></td></tr>
<tr class="memitem:ac618666b3c6d65d2c88bcbb7abeed343 inherit pub_methods_structarmnn_1_1_base_descriptor"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_base_descriptor.html#ac618666b3c6d65d2c88bcbb7abeed343">IsNull</a> () const</td></tr>
<tr class="separator:ac618666b3c6d65d2c88bcbb7abeed343 inherit pub_methods_structarmnn_1_1_base_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e0f82ef2f18eb897e6d6f1845e74033 inherit pub_methods_structarmnn_1_1_base_descriptor"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_base_descriptor.html#a5e0f82ef2f18eb897e6d6f1845e74033">~BaseDescriptor</a> ()=default</td></tr>
<tr class="separator:a5e0f82ef2f18eb897e6d6f1845e74033 inherit pub_methods_structarmnn_1_1_base_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a14433af2b223695b40d8c8f8ba2ebb8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_permutation_vector.html">PermutationVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_transpose_descriptor.html#a14433af2b223695b40d8c8f8ba2ebb8f">m_DimMappings</a></td></tr>
<tr class="memdesc:a14433af2b223695b40d8c8f8ba2ebb8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates how to translate tensor elements from a given source into the target destination, when source and target potentially have different memory layouts e.g.  <a href="structarmnn_1_1_transpose_descriptor.html#a14433af2b223695b40d8c8f8ba2ebb8f">More...</a><br /></td></tr>
<tr class="separator:a14433af2b223695b40d8c8f8ba2ebb8f"><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>A <a class="el" href="structarmnn_1_1_transpose_descriptor.html" title="A TransposeDescriptor for the TransposeLayer.">TransposeDescriptor</a> for the <a class="el" href="classarmnn_1_1_transpose_layer.html" title="This layer represents a transpose operation.">TransposeLayer</a>. </p>

<p class="definition">Definition at line <a class="el" href="_descriptors_8hpp_source.html#l01490">1490</a> of file <a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="af4d882230882f20ef1500510e5ff4c87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4d882230882f20ef1500510e5ff4c87">&#9670;&nbsp;</a></span>TransposeDescriptor() <span class="overload">[1/2]</span></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="structarmnn_1_1_transpose_descriptor.html">TransposeDescriptor</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="_descriptors_8hpp_source.html#l01492">1492</a> of file <a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160;            : <a class="code" href="structarmnn_1_1_transpose_descriptor.html#a14433af2b223695b40d8c8f8ba2ebb8f">m_DimMappings</a>{}</div>
<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;    {}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae7fbf819ce2bbdbdc55d546dd40a1213"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7fbf819ce2bbdbdc55d546dd40a1213">&#9670;&nbsp;</a></span>TransposeDescriptor() <span class="overload">[2/2]</span></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="structarmnn_1_1_transpose_descriptor.html">TransposeDescriptor</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classarmnn_1_1_permutation_vector.html">PermutationVector</a> &amp;&#160;</td>
          <td class="paramname"><em>dimMappings</em></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="_descriptors_8hpp_source.html#l01496">1496</a> of file <a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160;            : <a class="code" href="structarmnn_1_1_transpose_descriptor.html#a14433af2b223695b40d8c8f8ba2ebb8f">m_DimMappings</a>(dimMappings)</div>
<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160;    {}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a08d0e3a8b7b074f7c101366f0d431c47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08d0e3a8b7b074f7c101366f0d431c47">&#9670;&nbsp;</a></span>operator==()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structarmnn_1_1_transpose_descriptor.html">TransposeDescriptor</a> &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td> const</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="_descriptors_8hpp_source.html#l01500">1500</a> of file <a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160;    {</div>
<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="structarmnn_1_1_transpose_descriptor.html#a14433af2b223695b40d8c8f8ba2ebb8f">m_DimMappings</a>.<a class="code" href="classarmnn_1_1_permutation_vector.html#aae44e4154aa80fba7616747450ff69d5">IsEqual</a>(rhs.m_DimMappings);</div>
<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;    }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_types_8hpp_source.html#l00366">PermutationVector::IsEqual()</a>, and <a class="el" href="_descriptors_8hpp_source.html#l01514">TransposeDescriptor::m_DimMappings</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a14433af2b223695b40d8c8f8ba2ebb8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14433af2b223695b40d8c8f8ba2ebb8f">&#9670;&nbsp;</a></span>m_DimMappings</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarmnn_1_1_permutation_vector.html">PermutationVector</a> m_DimMappings</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Indicates how to translate tensor elements from a given source into the target destination, when source and target potentially have different memory layouts e.g. </p>
<p>Input Shape {1, 1, 4, 4} Permutation Vector {0, 2, 3, 1} Output Shape {1, 4, 4, 1} dim "0" of input goes into index 0 ([ 1, X, X, X]) dim "2" of input goes into index 1 ([ 1, 4, X, X ]) dim "3" of input goes into index 2 ([ 1, 4, 4, X ]) dim "1" of input goes into index 3 ([ 1, 4, 4, 1 ]) </p>

<p class="definition">Definition at line <a class="el" href="_descriptors_8hpp_source.html#l01514">1514</a> of file <a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_cl_transpose_workload_8cpp_source.html#l00029">ClTransposeWorkload::ClTransposeWorkload()</a>, <a class="el" href="_transpose_operator_8cpp_source.html#l00008">ConvertTransposeToTosaOperator()</a>, <a class="el" href="_transpose_layer_8hpp_source.html#l00037">TransposeLayer::GetPermutation()</a>, <a class="el" href="_transpose_layer_8cpp_source.html#l00038">TransposeLayer::InferOutputShapes()</a>, <a class="el" href="_neon_transpose_workload_8cpp_source.html#l00027">NeonTransposeWorkload::NeonTransposeWorkload()</a>, <a class="el" href="_descriptors_8hpp_source.html#l01500">TransposeDescriptor::operator==()</a>, <a class="el" href="_serialize_layer_parameters_8cpp_source.html#l00608">StringifyLayerParameters&lt; TransposeDescriptor &gt;::Serialize()</a>, and <a class="el" href="_workload_data_8cpp_source.html#l03104">TransposeQueueDescriptor::Validate()</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/armnn/<a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclassarmnn_1_1_permutation_vector_html_aae44e4154aa80fba7616747450ff69d5"><div class="ttname"><a href="classarmnn_1_1_permutation_vector.html#aae44e4154aa80fba7616747450ff69d5">armnn::PermutationVector::IsEqual</a></div><div class="ttdeci">bool IsEqual(const PermutationVector &amp;other) const</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00366">Types.hpp:366</a></div></div>
<div class="ttc" id="astructarmnn_1_1_transpose_descriptor_html_a14433af2b223695b40d8c8f8ba2ebb8f"><div class="ttname"><a href="structarmnn_1_1_transpose_descriptor.html#a14433af2b223695b40d8c8f8ba2ebb8f">armnn::TransposeDescriptor::m_DimMappings</a></div><div class="ttdeci">PermutationVector m_DimMappings</div><div class="ttdoc">Indicates how to translate tensor elements from a given source into the target destination,...</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l01514">Descriptors.hpp:1514</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="structarmnn_1_1_transpose_descriptor.html">TransposeDescriptor</a></li>
    <li class="footer">Generated on Wed Feb 14 2024 16:36:25 for Arm NN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
