blob: 88a4b19505832b4a077394f1e8902a81211cece1 [file] [log] [blame]
<!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.11"/>
<title>mxnet: nnvm::Tuple&lt; ValueType &gt; Class 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>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</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.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</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="namespacennvm.html">nnvm</a></li><li class="navelem"><a class="el" href="classnnvm_1_1Tuple.html">Tuple</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pro-static-attribs">Static Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classnnvm_1_1Tuple-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">nnvm::Tuple&lt; ValueType &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A dynamic sized array data structure that is optimized for storing small number of elements with same type.
<a href="classnnvm_1_1Tuple.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2tuple_8h_source.html">tuple.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for nnvm::Tuple&lt; ValueType &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classnnvm_1_1Tuple__coll__graph.png" border="0" usemap="#nnvm_1_1Tuple_3_01ValueType_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="nnvm_1_1Tuple_3_01ValueType_01_4_coll__map" id="nnvm_1_1Tuple_3_01ValueType_01_4_coll__map">
</map>
</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:a96339f99a102ba80329dfd38f4bbd8d7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a96339f99a102ba80329dfd38f4bbd8d7">Tuple</a> ()=default</td></tr>
<tr class="memdesc:a96339f99a102ba80329dfd38f4bbd8d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">default constructor <a href="#a96339f99a102ba80329dfd38f4bbd8d7">More...</a><br /></td></tr>
<tr class="separator:a96339f99a102ba80329dfd38f4bbd8d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aaf6ae47fdf6af1dd2141e892f6a4fe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a0aaf6ae47fdf6af1dd2141e892f6a4fe">~Tuple</a> ()</td></tr>
<tr class="memdesc:a0aaf6ae47fdf6af1dd2141e892f6a4fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">destructor <a href="#a0aaf6ae47fdf6af1dd2141e892f6a4fe">More...</a><br /></td></tr>
<tr class="separator:a0aaf6ae47fdf6af1dd2141e892f6a4fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2889534b8584905bb3080fdf4a752511"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a2889534b8584905bb3080fdf4a752511">Tuple</a> (const <a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;s)</td></tr>
<tr class="memdesc:a2889534b8584905bb3080fdf4a752511"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy constructor from another tuple <a href="#a2889534b8584905bb3080fdf4a752511">More...</a><br /></td></tr>
<tr class="separator:a2889534b8584905bb3080fdf4a752511"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53f8e366ba47090ce8b66689c4a7a912"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a53f8e366ba47090ce8b66689c4a7a912">Tuple</a> (std::initializer_list&lt; ValueType &gt; init)</td></tr>
<tr class="memdesc:a53f8e366ba47090ce8b66689c4a7a912"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor from initializer list <a href="#a53f8e366ba47090ce8b66689c4a7a912">More...</a><br /></td></tr>
<tr class="separator:a53f8e366ba47090ce8b66689c4a7a912"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56d8401183374bcea1fef948968fa49d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a56d8401183374bcea1fef948968fa49d">Tuple</a> (std::vector&lt; ValueType &gt; init)</td></tr>
<tr class="memdesc:a56d8401183374bcea1fef948968fa49d"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor from vector <a href="#a56d8401183374bcea1fef948968fa49d">More...</a><br /></td></tr>
<tr class="separator:a56d8401183374bcea1fef948968fa49d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a081abda5c3f8532816cc48c498f858b9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a081abda5c3f8532816cc48c498f858b9">Tuple</a> (<a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;&amp;src)</td></tr>
<tr class="memdesc:a081abda5c3f8532816cc48c498f858b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">move constructor from <a class="el" href="classnnvm_1_1Tuple.html" title="A dynamic sized array data structure that is optimized for storing small number of elements with same...">Tuple</a> <a href="#a081abda5c3f8532816cc48c498f858b9">More...</a><br /></td></tr>
<tr class="separator:a081abda5c3f8532816cc48c498f858b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a772e6cb922a81c05b5f59c46b271096e"><td class="memTemplParams" colspan="2">template&lt;typename RandomAccessIterator &gt; </td></tr>
<tr class="memitem:a772e6cb922a81c05b5f59c46b271096e"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a772e6cb922a81c05b5f59c46b271096e">Tuple</a> (RandomAccessIterator <a class="el" href="classnnvm_1_1Tuple.html#a79c0995fa4e5c2744d0f68088a7a424e">begin</a>, RandomAccessIterator <a class="el" href="classnnvm_1_1Tuple.html#a5ab6d327dbaaee99c40d0666948cb5df">end</a>)</td></tr>
<tr class="memdesc:a772e6cb922a81c05b5f59c46b271096e"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct the <a class="el" href="classnnvm_1_1Tuple.html" title="A dynamic sized array data structure that is optimized for storing small number of elements with same...">Tuple</a> from content of iterator <a href="#a772e6cb922a81c05b5f59c46b271096e">More...</a><br /></td></tr>
<tr class="separator:a772e6cb922a81c05b5f59c46b271096e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ff46861d8d09663978d03413b6f8ff7"><td class="memTemplParams" colspan="2">template&lt;typename RandomAccessIterator &gt; </td></tr>
<tr class="memitem:a6ff46861d8d09663978d03413b6f8ff7"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a6ff46861d8d09663978d03413b6f8ff7">assign</a> (RandomAccessIterator <a class="el" href="classnnvm_1_1Tuple.html#a79c0995fa4e5c2744d0f68088a7a424e">begin</a>, RandomAccessIterator <a class="el" href="classnnvm_1_1Tuple.html#a5ab6d327dbaaee99c40d0666948cb5df">end</a>)</td></tr>
<tr class="memdesc:a6ff46861d8d09663978d03413b6f8ff7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign content to tuple from iterator. <a href="#a6ff46861d8d09663978d03413b6f8ff7">More...</a><br /></td></tr>
<tr class="separator:a6ff46861d8d09663978d03413b6f8ff7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a93db990eae3c730e55b37736e52f59"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a8a93db990eae3c730e55b37736e52f59">swap</a> (<a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;other)</td></tr>
<tr class="memdesc:a8a93db990eae3c730e55b37736e52f59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap current object with other. <a href="#a8a93db990eae3c730e55b37736e52f59">More...</a><br /></td></tr>
<tr class="separator:a8a93db990eae3c730e55b37736e52f59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e951540ce8a2574c60f8719acf564e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a8e951540ce8a2574c60f8719acf564e1">operator=</a> (const <a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;src)</td></tr>
<tr class="memdesc:a8e951540ce8a2574c60f8719acf564e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">assignment from another tuple. <a href="#a8e951540ce8a2574c60f8719acf564e1">More...</a><br /></td></tr>
<tr class="separator:a8e951540ce8a2574c60f8719acf564e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40f06745a50340512274e204a2bb1420"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a40f06745a50340512274e204a2bb1420">operator=</a> (<a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;&amp;src)</td></tr>
<tr class="memdesc:a40f06745a50340512274e204a2bb1420"><td class="mdescLeft">&#160;</td><td class="mdescRight">assignment from rvalue of another tuple. <a href="#a40f06745a50340512274e204a2bb1420">More...</a><br /></td></tr>
<tr class="separator:a40f06745a50340512274e204a2bb1420"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6723bb6ce20e0385353c8ed7a9325289"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a6723bb6ce20e0385353c8ed7a9325289">operator=</a> (std::initializer_list&lt; ValueType &gt; init)</td></tr>
<tr class="memdesc:a6723bb6ce20e0385353c8ed7a9325289"><td class="mdescLeft">&#160;</td><td class="mdescRight">assignment from initializer list <a href="#a6723bb6ce20e0385353c8ed7a9325289">More...</a><br /></td></tr>
<tr class="separator:a6723bb6ce20e0385353c8ed7a9325289"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc581c490fbc193ca33edf2b227bd345"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#adc581c490fbc193ca33edf2b227bd345">operator==</a> (const <a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;s) const </td></tr>
<tr class="separator:adc581c490fbc193ca33edf2b227bd345"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a131d67e4ee5ce1a3a5dff12f0e110a11"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a131d67e4ee5ce1a3a5dff12f0e110a11">operator!=</a> (const <a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;s) const </td></tr>
<tr class="separator:a131d67e4ee5ce1a3a5dff12f0e110a11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79c0995fa4e5c2744d0f68088a7a424e"><td class="memItemLeft" align="right" valign="top">const ValueType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a79c0995fa4e5c2744d0f68088a7a424e">begin</a> () const </td></tr>
<tr class="separator:a79c0995fa4e5c2744d0f68088a7a424e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afef33bf5464069a4ba6296bbced15485"><td class="memItemLeft" align="right" valign="top">ValueType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#afef33bf5464069a4ba6296bbced15485">begin</a> ()</td></tr>
<tr class="separator:afef33bf5464069a4ba6296bbced15485"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ab6d327dbaaee99c40d0666948cb5df"><td class="memItemLeft" align="right" valign="top">const ValueType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a5ab6d327dbaaee99c40d0666948cb5df">end</a> () const </td></tr>
<tr class="separator:a5ab6d327dbaaee99c40d0666948cb5df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85cd49b3d6276b15b2ed1ec8fbb86f21"><td class="memItemLeft" align="right" valign="top">ValueType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a85cd49b3d6276b15b2ed1ec8fbb86f21">end</a> ()</td></tr>
<tr class="separator:a85cd49b3d6276b15b2ed1ec8fbb86f21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0525b3d997b77dfd5c6b35299b250f6"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#ab0525b3d997b77dfd5c6b35299b250f6">ndim</a> () const </td></tr>
<tr class="separator:ab0525b3d997b77dfd5c6b35299b250f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fb89f941e64164cebdb3bca612fc828"><td class="memItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a1fb89f941e64164cebdb3bca612fc828">operator[]</a> (size_t i)</td></tr>
<tr class="memdesc:a1fb89f941e64164cebdb3bca612fc828"><td class="mdescLeft">&#160;</td><td class="mdescRight">get corresponding index <a href="#a1fb89f941e64164cebdb3bca612fc828">More...</a><br /></td></tr>
<tr class="separator:a1fb89f941e64164cebdb3bca612fc828"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cc06eaac53474b342a049bd0c6333ac"><td class="memItemLeft" align="right" valign="top">const ValueType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a7cc06eaac53474b342a049bd0c6333ac">operator[]</a> (size_t i) const </td></tr>
<tr class="memdesc:a7cc06eaac53474b342a049bd0c6333ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">get corresponding index <a href="#a7cc06eaac53474b342a049bd0c6333ac">More...</a><br /></td></tr>
<tr class="separator:a7cc06eaac53474b342a049bd0c6333ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a643441eedbfa3ede1a4f6f8f335e9441"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a643441eedbfa3ede1a4f6f8f335e9441">Save</a> (<a class="el" href="classdmlc_1_1JSONWriter.html">dmlc::JSONWriter</a> *writer) const </td></tr>
<tr class="memdesc:a643441eedbfa3ede1a4f6f8f335e9441"><td class="mdescLeft">&#160;</td><td class="mdescRight">Save <a class="el" href="classnnvm_1_1Tuple.html" title="A dynamic sized array data structure that is optimized for storing small number of elements with same...">Tuple</a> to JSON. <a href="#a643441eedbfa3ede1a4f6f8f335e9441">More...</a><br /></td></tr>
<tr class="separator:a643441eedbfa3ede1a4f6f8f335e9441"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56d6bfdf4366d323fee62f204b4af045"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a56d6bfdf4366d323fee62f204b4af045">Load</a> (<a class="el" href="classdmlc_1_1JSONReader.html">dmlc::JSONReader</a> *reader)</td></tr>
<tr class="memdesc:a56d6bfdf4366d323fee62f204b4af045"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load <a class="el" href="classnnvm_1_1Tuple.html" title="A dynamic sized array data structure that is optimized for storing small number of elements with same...">Tuple</a> from JSON. <a href="#a56d6bfdf4366d323fee62f204b4af045">More...</a><br /></td></tr>
<tr class="separator:a56d6bfdf4366d323fee62f204b4af045"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9680799e0ae415a9ad8ae14e1fc24769"><td class="memTemplParams" colspan="2">template&lt;typename DType = ValueType, typename TStream &gt; </td></tr>
<tr class="memitem:a9680799e0ae415a9ad8ae14e1fc24769"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a9680799e0ae415a9ad8ae14e1fc24769">Save</a> (TStream *strm) const </td></tr>
<tr class="memdesc:a9680799e0ae415a9ad8ae14e1fc24769"><td class="mdescLeft">&#160;</td><td class="mdescRight">save the content into binary stream <a href="#a9680799e0ae415a9ad8ae14e1fc24769">More...</a><br /></td></tr>
<tr class="separator:a9680799e0ae415a9ad8ae14e1fc24769"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15bb2b0936368fc5cdef067fbd242b0e"><td class="memTemplParams" colspan="2">template&lt;typename DType = ValueType, typename TStream &gt; </td></tr>
<tr class="memitem:a15bb2b0936368fc5cdef067fbd242b0e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a15bb2b0936368fc5cdef067fbd242b0e">Load</a> (TStream *strm)</td></tr>
<tr class="memdesc:a15bb2b0936368fc5cdef067fbd242b0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">load the content from binary stream <a href="#a15bb2b0936368fc5cdef067fbd242b0e">More...</a><br /></td></tr>
<tr class="separator:a15bb2b0936368fc5cdef067fbd242b0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aaa4407b3bd18c03b898831d6ced75f5b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#aaa4407b3bd18c03b898831d6ced75f5b">SetDim</a> (uint32_t <a class="el" href="classnnvm_1_1Tuple.html#ab0525b3d997b77dfd5c6b35299b250f6">ndim</a>)</td></tr>
<tr class="separator:aaa4407b3bd18c03b898831d6ced75f5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a65b30701dcaaf1c0253a16f5bcd89dce"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a65b30701dcaaf1c0253a16f5bcd89dce">ndim_</a> {0}</td></tr>
<tr class="memdesc:a65b30701dcaaf1c0253a16f5bcd89dce"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of dimension of the tuple <a href="#a65b30701dcaaf1c0253a16f5bcd89dce">More...</a><br /></td></tr>
<tr class="separator:a65b30701dcaaf1c0253a16f5bcd89dce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a056441b8ac64e7f88cd1a84bcefa76c6"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a056441b8ac64e7f88cd1a84bcefa76c6">num_heap_allocated_</a> {0}</td></tr>
<tr class="memdesc:a056441b8ac64e7f88cd1a84bcefa76c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of cells allocated in data_heap_ <a href="#a056441b8ac64e7f88cd1a84bcefa76c6">More...</a><br /></td></tr>
<tr class="separator:a056441b8ac64e7f88cd1a84bcefa76c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad171dde54960916c4bc0a53e567d252"><td class="memItemLeft" align="right" valign="top">ValueType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#aad171dde54960916c4bc0a53e567d252">data_stack_</a> [<a class="el" href="classnnvm_1_1Tuple.html#a0d1a4d05cfe3e882f97d2a5a3d4d3ddb">kStackCache</a>]</td></tr>
<tr class="memdesc:aad171dde54960916c4bc0a53e567d252"><td class="mdescLeft">&#160;</td><td class="mdescRight">in stack space used to store shape when it is small <a href="#aad171dde54960916c4bc0a53e567d252">More...</a><br /></td></tr>
<tr class="separator:aad171dde54960916c4bc0a53e567d252"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1fb85efc45e1253d9772dff82331173"><td class="memItemLeft" align="right" valign="top">ValueType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#aa1fb85efc45e1253d9772dff82331173">data_heap_</a> {nullptr}</td></tr>
<tr class="memdesc:aa1fb85efc45e1253d9772dff82331173"><td class="mdescLeft">&#160;</td><td class="mdescRight">space to store shape when dimension is big <a href="#aa1fb85efc45e1253d9772dff82331173">More...</a><br /></td></tr>
<tr class="separator:aa1fb85efc45e1253d9772dff82331173"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-attribs"></a>
Static Protected Attributes</h2></td></tr>
<tr class="memitem:a0d1a4d05cfe3e882f97d2a5a3d4d3ddb"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a0d1a4d05cfe3e882f97d2a5a3d4d3ddb">kStackCache</a> = 4</td></tr>
<tr class="separator:a0d1a4d05cfe3e882f97d2a5a3d4d3ddb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a39bed8c606eefa4faef1088f21e94800"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a39bed8c606eefa4faef1088f21e94800">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;t)</td></tr>
<tr class="memdesc:a39bed8c606eefa4faef1088f21e94800"><td class="mdescLeft">&#160;</td><td class="mdescRight">allow output string of tuple to ostream <a href="#a39bed8c606eefa4faef1088f21e94800">More...</a><br /></td></tr>
<tr class="separator:a39bed8c606eefa4faef1088f21e94800"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f33bc2b1cf75b9ef9d738e5fd9ea7ee"><td class="memItemLeft" align="right" valign="top">std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnnvm_1_1Tuple.html#a0f33bc2b1cf75b9ef9d738e5fd9ea7ee">operator&gt;&gt;</a> (std::istream &amp;is, <a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;t)</td></tr>
<tr class="memdesc:a0f33bc2b1cf75b9ef9d738e5fd9ea7ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">read tuple from the istream <a href="#a0f33bc2b1cf75b9ef9d738e5fd9ea7ee">More...</a><br /></td></tr>
<tr class="separator:a0f33bc2b1cf75b9ef9d738e5fd9ea7ee"><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 ValueType&gt;<br />
class nnvm::Tuple&lt; ValueType &gt;</h3>
<p>A dynamic sized array data structure that is optimized for storing small number of elements with same type. </p>
<p>Data will be stored in stack when number of elements is small. It is suitable to hold shape of Tensor.</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">ValueType</td><td>The type of data stored inside tuple. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnnvm_1_1TShape.html" title="A Shape class that is used to represent shape of each tensor. ">TShape</a> </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a96339f99a102ba80329dfd38f4bbd8d7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::<a class="el" href="classnnvm_1_1Tuple.html">Tuple</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">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>default constructor </p>
</div>
</div>
<a class="anchor" id="a0aaf6ae47fdf6af1dd2141e892f6a4fe"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::~<a class="el" href="classnnvm_1_1Tuple.html">Tuple</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>destructor </p>
</div>
</div>
<a class="anchor" id="a2889534b8584905bb3080fdf4a752511"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::<a class="el" href="classnnvm_1_1Tuple.html">Tuple</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;&#160;</td>
<td class="paramname"><em>s</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>copy constructor from another tuple </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s</td><td>the source tuple </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a53f8e366ba47090ce8b66689c4a7a912"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::<a class="el" href="classnnvm_1_1Tuple.html">Tuple</a> </td>
<td>(</td>
<td class="paramtype">std::initializer_list&lt; ValueType &gt;&#160;</td>
<td class="paramname"><em>init</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>constructor from initializer list </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">init</td><td>the initializer_list </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a56d8401183374bcea1fef948968fa49d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::<a class="el" href="classnnvm_1_1Tuple.html">Tuple</a> </td>
<td>(</td>
<td class="paramtype">std::vector&lt; ValueType &gt;&#160;</td>
<td class="paramname"><em>init</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>constructor from vector </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">init</td><td>the vector </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a081abda5c3f8532816cc48c498f858b9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::<a class="el" href="classnnvm_1_1Tuple.html">Tuple</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;&amp;&#160;</td>
<td class="paramname"><em>src</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>move constructor from <a class="el" href="classnnvm_1_1Tuple.html" title="A dynamic sized array data structure that is optimized for storing small number of elements with same...">Tuple</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">src</td><td>the source shape </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a772e6cb922a81c05b5f59c46b271096e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<div class="memtemplate">
template&lt;typename RandomAccessIterator &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::<a class="el" href="classnnvm_1_1Tuple.html">Tuple</a> </td>
<td>(</td>
<td class="paramtype">RandomAccessIterator&#160;</td>
<td class="paramname"><em>begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RandomAccessIterator&#160;</td>
<td class="paramname"><em>end</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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>construct the <a class="el" href="classnnvm_1_1Tuple.html" title="A dynamic sized array data structure that is optimized for storing small number of elements with same...">Tuple</a> from content of iterator </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">begin</td><td>the beginning of iterator </td></tr>
<tr><td class="paramname">end</td><td>end the end of the iterator </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">RandomAccessIterator</td><td>iterator type </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a6ff46861d8d09663978d03413b6f8ff7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<div class="memtemplate">
template&lt;typename RandomAccessIterator &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::assign </td>
<td>(</td>
<td class="paramtype">RandomAccessIterator&#160;</td>
<td class="paramname"><em>begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RandomAccessIterator&#160;</td>
<td class="paramname"><em>end</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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Assign content to tuple from iterator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">begin</td><td>the beginning of iterator </td></tr>
<tr><td class="paramname">end</td><td>end the end of the iterator </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">RandomAccessIterator</td><td>iterator type </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a79c0995fa4e5c2744d0f68088a7a424e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const ValueType* <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::begin </td>
<td>(</td>
<td class="paramname"></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">
<dl class="section return"><dt>Returns</dt><dd>the begin data pointer to content of the tuple </dd></dl>
</div>
</div>
<a class="anchor" id="afef33bf5464069a4ba6296bbced15485"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ValueType* <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::begin </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">
<dl class="section return"><dt>Returns</dt><dd>the begin data pointer to content of the tuple </dd></dl>
</div>
</div>
<a class="anchor" id="a5ab6d327dbaaee99c40d0666948cb5df"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const ValueType* <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::end </td>
<td>(</td>
<td class="paramname"></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">
<dl class="section return"><dt>Returns</dt><dd>the data pointer to end of the tuple </dd></dl>
</div>
</div>
<a class="anchor" id="a85cd49b3d6276b15b2ed1ec8fbb86f21"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ValueType* <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::end </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">
<dl class="section return"><dt>Returns</dt><dd>the data pointer to end the tuple </dd></dl>
</div>
</div>
<a class="anchor" id="a56d6bfdf4366d323fee62f204b4af045"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::Load </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classdmlc_1_1JSONReader.html">dmlc::JSONReader</a> *&#160;</td>
<td class="paramname"><em>reader</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>Load <a class="el" href="classnnvm_1_1Tuple.html" title="A dynamic sized array data structure that is optimized for storing small number of elements with same...">Tuple</a> from JSON. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reader</td><td>JSONReader </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a15bb2b0936368fc5cdef067fbd242b0e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType &gt; </div>
<div class="memtemplate">
template&lt;typename DType , typename TStream &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::Load </td>
<td>(</td>
<td class="paramtype">TStream *&#160;</td>
<td class="paramname"><em>strm</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>load the content from binary stream </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">strm</td><td>the output stream </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">DType</td><td>data type that load from </td></tr>
<tr><td class="paramname">TStream</td><td>any stream type that have write </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>whether the load is successful</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">ValueType</td><td>The type of data stored inside tuple. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab0525b3d997b77dfd5c6b35299b250f6"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::ndim </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></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">
<dl class="section return"><dt>Returns</dt><dd>number of dimension of the tuple </dd></dl>
</div>
</div>
<a class="anchor" id="a131d67e4ee5ce1a3a5dff12f0e110a11"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;&#160;</td>
<td class="paramname"><em>s</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">
<dl class="section return"><dt>Returns</dt><dd>whether two tuple not equal </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s</td><td>the tuple to compare against </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a8e951540ce8a2574c60f8719acf564e1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt;ValueType&gt;&amp; <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</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>assignment from another tuple. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">src</td><td>source tuple </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference of self </dd></dl>
</div>
</div>
<a class="anchor" id="a40f06745a50340512274e204a2bb1420"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt;ValueType&gt;&amp; <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;&amp;&#160;</td>
<td class="paramname"><em>src</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>assignment from rvalue of another tuple. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">src</td><td>source tuple </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference of self </dd></dl>
</div>
</div>
<a class="anchor" id="a6723bb6ce20e0385353c8ed7a9325289"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt;ValueType&gt;&amp; <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::operator= </td>
<td>(</td>
<td class="paramtype">std::initializer_list&lt; ValueType &gt;&#160;</td>
<td class="paramname"><em>init</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>assignment from initializer list </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">init</td><td>the source initializer list </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference of self </dd></dl>
</div>
</div>
<a class="anchor" id="adc581c490fbc193ca33edf2b227bd345"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;&#160;</td>
<td class="paramname"><em>s</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">
<dl class="section return"><dt>Returns</dt><dd>whether two tuple equals </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s</td><td>the tuple to compare against </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a1fb89f941e64164cebdb3bca612fc828"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ValueType&amp; <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::operator[] </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>i</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>get corresponding index </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i</td><td>dimension index </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the corresponding dimension size </dd></dl>
</div>
</div>
<a class="anchor" id="a7cc06eaac53474b342a049bd0c6333ac"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const ValueType&amp; <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::operator[] </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>i</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>get corresponding index </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i</td><td>dimension index </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the corresponding dimension size </dd></dl>
</div>
</div>
<a class="anchor" id="a643441eedbfa3ede1a4f6f8f335e9441"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::Save </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classdmlc_1_1JSONWriter.html">dmlc::JSONWriter</a> *&#160;</td>
<td class="paramname"><em>writer</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>Save <a class="el" href="classnnvm_1_1Tuple.html" title="A dynamic sized array data structure that is optimized for storing small number of elements with same...">Tuple</a> to JSON. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">writer</td><td>JSONWriter </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a9680799e0ae415a9ad8ae14e1fc24769"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType &gt; </div>
<div class="memtemplate">
template&lt;typename DType , typename TStream &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::Save </td>
<td>(</td>
<td class="paramtype">TStream *&#160;</td>
<td class="paramname"><em>strm</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>save the content into binary stream </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">strm</td><td>the output stream </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">DType</td><td>data type that save to </td></tr>
<tr><td class="paramname">TStream</td><td>any stream type that have write</td></tr>
<tr><td class="paramname">ValueType</td><td>The type of data stored inside tuple. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aaa4407b3bd18c03b898831d6ced75f5b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::SetDim </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>ndim</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8a93db990eae3c730e55b37736e52f59"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::swap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;&#160;</td>
<td class="paramname"><em>other</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>Swap current object with other. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>another object to be swapped. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="a39bed8c606eefa4faef1088f21e94800"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::ostream&amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>os</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;&#160;</td>
<td class="paramname"><em>t</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">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>allow output string of tuple to ostream </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">os</td><td>the output stream </td></tr>
<tr><td class="paramname">t</td><td>the tuple </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the ostream </dd></dl>
</div>
</div>
<a class="anchor" id="a0f33bc2b1cf75b9ef9d738e5fd9ea7ee"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::istream&amp; operator&gt;&gt; </td>
<td>(</td>
<td class="paramtype">std::istream &amp;&#160;</td>
<td class="paramname"><em>is</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classnnvm_1_1Tuple.html">Tuple</a>&lt; ValueType &gt; &amp;&#160;</td>
<td class="paramname"><em>t</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">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>read tuple from the istream </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">is</td><td>the input stream </td></tr>
<tr><td class="paramname">t</td><td>The tuple </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the istream </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="aa1fb85efc45e1253d9772dff82331173"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ValueType* <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::data_heap_ {nullptr}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>space to store shape when dimension is big </p>
</div>
</div>
<a class="anchor" id="aad171dde54960916c4bc0a53e567d252"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ValueType <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::data_stack_[<a class="el" href="classnnvm_1_1Tuple.html#a0d1a4d05cfe3e882f97d2a5a3d4d3ddb">kStackCache</a>]</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>in stack space used to store shape when it is small </p>
</div>
</div>
<a class="anchor" id="a0d1a4d05cfe3e882f97d2a5a3d4d3ddb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::kStackCache = 4</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a65b30701dcaaf1c0253a16f5bcd89dce"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::ndim_ {0}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>number of dimension of the tuple </p>
</div>
</div>
<a class="anchor" id="a056441b8ac64e7f88cd1a84bcefa76c6"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t <a class="el" href="classnnvm_1_1Tuple.html">nnvm::Tuple</a>&lt; ValueType &gt;::num_heap_allocated_ {0}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>number of cells allocated in data_heap_ </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/work/mxnet/3rdparty/tvm/nnvm/include/nnvm/<a class="el" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2tuple_8h_source.html">tuple.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Mar 28 2020 00:52:32 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>