<!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::expr::ShapeCheck&lt; srcdim, SliceExp&lt; SrcExp, Device, DType, srcdim, dimsrc_m_slice &gt; &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_1expr.html">expr</a></li><li class="navelem"><a class="el" href="structmshadow_1_1expr_1_1ShapeCheck_3_01srcdim_00_01SliceExp_3_01SrcExp_00_01Device_00_01DType_09942f2b7d4b89af110ba1781169fc59f.html">ShapeCheck&lt; srcdim, SliceExp&lt; SrcExp, Device, DType, srcdim, dimsrc_m_slice &gt; &gt;</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="structmshadow_1_1expr_1_1ShapeCheck_3_01srcdim_00_01SliceExp_3_01SrcExp_00_01Device_00_01DType_0f7bcbef8594e8fa7eb58c49940f57632.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">mshadow::expr::ShapeCheck&lt; srcdim, SliceExp&lt; SrcExp, Device, DType, srcdim, dimsrc_m_slice &gt; &gt; Struct Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="slice_8h_source.html">slice.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for mshadow::expr::ShapeCheck&lt; srcdim, SliceExp&lt; SrcExp, Device, DType, srcdim, dimsrc_m_slice &gt; &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="structmshadow_1_1expr_1_1ShapeCheck_3_01srcdim_00_01SliceExp_3_01SrcExp_00_01Device_00_01DType_027f2ff0ff61c06982503724f7645f75d.png" border="0" usemap="#mshadow_1_1expr_1_1ShapeCheck_3_01srcdim_00_01SliceExp_3_01SrcExp_00_01Device_00_01DType_00_01srcdim_00_01dimsrc__m__slice_01_4_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="mshadow_1_1expr_1_1ShapeCheck_3_01srcdim_00_01SliceExp_3_01SrcExp_00_01Device_00_01DType_00_01srcdim_00_01dimsrc__m__slice_01_4_01_4_coll__map" id="mshadow_1_1expr_1_1ShapeCheck_3_01srcdim_00_01SliceExp_3_01SrcExp_00_01Device_00_01DType_00_01srcdim_00_01dimsrc__m__slice_01_4_01_4_coll__map">
</map>
</div>
<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:a156463d745274dfb1765fa6f36cdcdb0"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; srcdim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1expr_1_1ShapeCheck_3_01srcdim_00_01SliceExp_3_01SrcExp_00_01Device_00_01DType_09942f2b7d4b89af110ba1781169fc59f.html#a156463d745274dfb1765fa6f36cdcdb0">Check</a> (const <a class="el" href="structmshadow_1_1expr_1_1SliceExp.html">SliceExp</a>&lt; SrcExp, Device, DType, srcdim, dimsrc_m_slice &gt; &amp;t)</td></tr>
<tr class="separator:a156463d745274dfb1765fa6f36cdcdb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a156463d745274dfb1765fa6f36cdcdb0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a156463d745274dfb1765fa6f36cdcdb0">&#9670;&nbsp;</a></span>Check()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename SrcExp , typename Device , typename DType , int srcdim, int dimsrc_m_slice&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt;srcdim&gt; <a class="el" href="structmshadow_1_1expr_1_1ShapeCheck.html">mshadow::expr::ShapeCheck</a>&lt; srcdim, <a class="el" href="structmshadow_1_1expr_1_1SliceExp.html">SliceExp</a>&lt; SrcExp, Device, DType, srcdim, dimsrc_m_slice &gt; &gt;::Check </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmshadow_1_1expr_1_1SliceExp.html">SliceExp</a>&lt; SrcExp, Device, DType, srcdim, dimsrc_m_slice &gt; &amp;&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><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/extension/<a class="el" href="slice_8h_source.html">slice.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 28 2022 17:47:37 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>
