<!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="viewport" content="width=device-width, initial-scale=1"/>
<title>mxnet: mshadow::packet::PacketOp&lt; OP, DType, Arch &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="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>
<link href="doxygen.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;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">mxnet
   </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>
<!-- 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 id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1packet.html">packet</a></li><li class="navelem"><a class="el" href="structmshadow_1_1packet_1_1PacketOp.html">PacketOp</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="structmshadow_1_1packet_1_1PacketOp-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">mshadow::packet::PacketOp&lt; OP, DType, Arch &gt; Struct Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>generic <a class="el" href="structmshadow_1_1packet_1_1Packet.html" title="Generic packet type. ">Packet</a> operator  
 <a href="structmshadow_1_1packet_1_1PacketOp.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="packet-inl_8h_source.html">packet-inl.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for mshadow::packet::PacketOp&lt; OP, DType, Arch &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="structmshadow_1_1packet_1_1PacketOp__coll__graph.png" border="0" usemap="#mshadow_1_1packet_1_1PacketOp_3_01OP_00_01DType_00_01Arch_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="mshadow_1_1packet_1_1PacketOp_3_01OP_00_01DType_00_01Arch_01_4_coll__map" id="mshadow_1_1packet_1_1PacketOp_3_01OP_00_01DType_00_01Arch_01_4_coll__map">
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a4a55a0165215b016b70d8b8f25420eed"><td class="memItemLeft" align="right" valign="top">static const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1packet_1_1PacketOp.html#a4a55a0165215b016b70d8b8f25420eed">kEnabled</a> = false</td></tr>
<tr class="separator:a4a55a0165215b016b70d8b8f25420eed"><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;typename OP, typename DType, PacketArch Arch&gt;<br />
struct mshadow::packet::PacketOp&lt; OP, DType, Arch &gt;</h3>

<p>generic <a class="el" href="structmshadow_1_1packet_1_1Packet.html" title="Generic packet type. ">Packet</a> operator </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">OP</td><td>The operator </td></tr>
    <tr><td class="paramname">DType</td><td>The data type </td></tr>
    <tr><td class="paramname">Arch</td><td>The architecture. </td></tr>
  </table>
  </dd>
</dl>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a4a55a0165215b016b70d8b8f25420eed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a55a0165215b016b70d8b8f25420eed">&#9670;&nbsp;</a></span>kEnabled</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename OP, typename DType, PacketArch Arch&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const bool <a class="el" href="structmshadow_1_1packet_1_1PacketOp.html">mshadow::packet::PacketOp</a>&lt; OP, DType, Arch &gt;::kEnabled = false</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>/work/mxnet/3rdparty/mshadow/mshadow/<a class="el" href="packet-inl_8h_source.html">packet-inl.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 5 2023 00:58:43 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
