blob: e364606b2101d85869e47c506a9ec822cf1963bc [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: mxnet::Array&lt; T, typename &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="namespacemxnet.html">mxnet</a></li><li class="navelem"><a class="el" href="classmxnet_1_1Array.html">Array</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classmxnet_1_1Array-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">mxnet::Array&lt; T, typename &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a class="el" href="classmxnet_1_1Array.html" title="Array container of NodeRef in DSL graph. Array implements copy on write semantics, which means array is mutable but copy will happen when array is referenced in more than two places. ">Array</a> container of NodeRef in DSL graph. <a class="el" href="classmxnet_1_1Array.html" title="Array container of NodeRef in DSL graph. Array implements copy on write semantics, which means array is mutable but copy will happen when array is referenced in more than two places. ">Array</a> implements copy on write semantics, which means array is mutable but copy will happen when array is referenced in more than two places.
<a href="classmxnet_1_1Array.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="node_2container_8h_source.html">container.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mxnet::Array&lt; T, typename &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classmxnet_1_1Array__inherit__graph.png" border="0" usemap="#mxnet_1_1Array_3_01T_00_01typename_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="mxnet_1_1Array_3_01T_00_01typename_01_4_inherit__map" id="mxnet_1_1Array_3_01T_00_01typename_01_4_inherit__map">
</map>
</div>
<div class="dynheader">
Collaboration diagram for mxnet::Array&lt; T, typename &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classmxnet_1_1Array__coll__graph.png" border="0" usemap="#mxnet_1_1Array_3_01T_00_01typename_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="mxnet_1_1Array_3_01T_00_01typename_01_4_coll__map" id="mxnet_1_1Array_3_01T_00_01typename_01_4_coll__map">
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1Array_1_1ValueConverter.html">ValueConverter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:aaedad023cadaf0d11c6ac8bc7aea6c13"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#aaedad023cadaf0d11c6ac8bc7aea6c13">ContainerType</a> = <a class="el" href="classmxnet_1_1ArrayNode.html">ArrayNode</a></td></tr>
<tr class="memdesc:aaedad023cadaf0d11c6ac8bc7aea6c13"><td class="mdescLeft">&#160;</td><td class="mdescRight">specify container node <a href="#aaedad023cadaf0d11c6ac8bc7aea6c13">More...</a><br /></td></tr>
<tr class="separator:aaedad023cadaf0d11c6ac8bc7aea6c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50dc5aac14db086cdf2ad0bdc2f2fa71"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a50dc5aac14db086cdf2ad0bdc2f2fa71">iterator</a> = <a class="el" href="classmxnet_1_1IterAdapter.html">IterAdapter</a>&lt; <a class="el" href="structmxnet_1_1Array_1_1ValueConverter.html">ValueConverter</a>, std::vector&lt; ObjectRef &gt;::const_iterator &gt;</td></tr>
<tr class="separator:a50dc5aac14db086cdf2ad0bdc2f2fa71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad789d2d9ca9a4e9b5a4bfdf343c6aae"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#aad789d2d9ca9a4e9b5a4bfdf343c6aae">reverse_iterator</a> = <a class="el" href="classmxnet_1_1IterAdapter.html">IterAdapter</a>&lt; <a class="el" href="structmxnet_1_1Array_1_1ValueConverter.html">ValueConverter</a>, std::vector&lt; ObjectRef &gt;::const_reverse_iterator &gt;</td></tr>
<tr class="separator:aad789d2d9ca9a4e9b5a4bfdf343c6aae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a68d4cd81b6175aa7532234fae2cb5d59"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a68d4cd81b6175aa7532234fae2cb5d59">Array</a> ()</td></tr>
<tr class="memdesc:a68d4cd81b6175aa7532234fae2cb5d59"><td class="mdescLeft">&#160;</td><td class="mdescRight">default constructor <a href="#a68d4cd81b6175aa7532234fae2cb5d59">More...</a><br /></td></tr>
<tr class="separator:a68d4cd81b6175aa7532234fae2cb5d59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00c3797ab4a9fbddbf191652bef44809"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a00c3797ab4a9fbddbf191652bef44809">Array</a> (<a class="el" href="classmxnet_1_1Array.html">Array</a>&lt; T &gt; &amp;&amp;other)</td></tr>
<tr class="memdesc:a00c3797ab4a9fbddbf191652bef44809"><td class="mdescLeft">&#160;</td><td class="mdescRight">move constructor <a href="#a00c3797ab4a9fbddbf191652bef44809">More...</a><br /></td></tr>
<tr class="separator:a00c3797ab4a9fbddbf191652bef44809"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2640d179bd36bea8c7a46aaeca5ae58e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a2640d179bd36bea8c7a46aaeca5ae58e">Array</a> (const <a class="el" href="classmxnet_1_1Array.html">Array</a>&lt; T &gt; &amp;other)</td></tr>
<tr class="memdesc:a2640d179bd36bea8c7a46aaeca5ae58e"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy constructor <a href="#a2640d179bd36bea8c7a46aaeca5ae58e">More...</a><br /></td></tr>
<tr class="separator:a2640d179bd36bea8c7a46aaeca5ae58e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee1c5a8e4fae05ed35f4e6fc009d3997"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#aee1c5a8e4fae05ed35f4e6fc009d3997">Array</a> (<a class="el" href="classmxnet_1_1runtime_1_1ObjectPtr.html">runtime::ObjectPtr</a>&lt; Object &gt; n)</td></tr>
<tr class="memdesc:aee1c5a8e4fae05ed35f4e6fc009d3997"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor from pointer <a href="#aee1c5a8e4fae05ed35f4e6fc009d3997">More...</a><br /></td></tr>
<tr class="separator:aee1c5a8e4fae05ed35f4e6fc009d3997"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75dc7b5ab19d402fda807b7108eda4ef"><td class="memTemplParams" colspan="2">template&lt;typename IterType &gt; </td></tr>
<tr class="memitem:a75dc7b5ab19d402fda807b7108eda4ef"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a75dc7b5ab19d402fda807b7108eda4ef">Array</a> (IterType <a class="el" href="classmxnet_1_1Array.html#a267e8941a2bb60d3c4ef82f9f52dbb69">begin</a>, IterType <a class="el" href="classmxnet_1_1Array.html#a0ce32974a0f1ced9ccd181270fb17e6a">end</a>)</td></tr>
<tr class="memdesc:a75dc7b5ab19d402fda807b7108eda4ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor from iterator <a href="#a75dc7b5ab19d402fda807b7108eda4ef">More...</a><br /></td></tr>
<tr class="separator:a75dc7b5ab19d402fda807b7108eda4ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0027f124b02851939efab84ce57887d8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a0027f124b02851939efab84ce57887d8">Array</a> (std::initializer_list&lt; T &gt; init)</td></tr>
<tr class="memdesc:a0027f124b02851939efab84ce57887d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor from initializer list <a href="#a0027f124b02851939efab84ce57887d8">More...</a><br /></td></tr>
<tr class="separator:a0027f124b02851939efab84ce57887d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab973c70d95c2813049a9376853628afe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#ab973c70d95c2813049a9376853628afe">Array</a> (const std::vector&lt; T &gt; &amp;init)</td></tr>
<tr class="memdesc:ab973c70d95c2813049a9376853628afe"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor from vector <a href="#ab973c70d95c2813049a9376853628afe">More...</a><br /></td></tr>
<tr class="separator:ab973c70d95c2813049a9376853628afe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadd7404faea67e3af90867d18d1e0da6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#aadd7404faea67e3af90867d18d1e0da6">Array</a> (size_t n, const T &amp;val)</td></tr>
<tr class="memdesc:aadd7404faea67e3af90867d18d1e0da6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a container with n elements. Each element is a copy of val. <a href="#aadd7404faea67e3af90867d18d1e0da6">More...</a><br /></td></tr>
<tr class="separator:aadd7404faea67e3af90867d18d1e0da6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8072807d0c6f5b2a062d6f67ec6d0d34"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1Array.html">Array</a>&lt; T &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a8072807d0c6f5b2a062d6f67ec6d0d34">operator=</a> (<a class="el" href="classmxnet_1_1Array.html">Array</a>&lt; T &gt; &amp;&amp;other)</td></tr>
<tr class="memdesc:a8072807d0c6f5b2a062d6f67ec6d0d34"><td class="mdescLeft">&#160;</td><td class="mdescRight">move assign operator <a href="#a8072807d0c6f5b2a062d6f67ec6d0d34">More...</a><br /></td></tr>
<tr class="separator:a8072807d0c6f5b2a062d6f67ec6d0d34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c86bf10ff15554b85d14039fa3fe28d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1Array.html">Array</a>&lt; T &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a3c86bf10ff15554b85d14039fa3fe28d">operator=</a> (const <a class="el" href="classmxnet_1_1Array.html">Array</a>&lt; T &gt; &amp;other)</td></tr>
<tr class="memdesc:a3c86bf10ff15554b85d14039fa3fe28d"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy assign operator <a href="#a3c86bf10ff15554b85d14039fa3fe28d">More...</a><br /></td></tr>
<tr class="separator:a3c86bf10ff15554b85d14039fa3fe28d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9095f1bac4bfa8eec9f4c080dba54d8f"><td class="memTemplParams" colspan="2">template&lt;typename IterType &gt; </td></tr>
<tr class="memitem:a9095f1bac4bfa8eec9f4c080dba54d8f"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a9095f1bac4bfa8eec9f4c080dba54d8f">assign</a> (IterType <a class="el" href="classmxnet_1_1Array.html#a267e8941a2bb60d3c4ef82f9f52dbb69">begin</a>, IterType <a class="el" href="classmxnet_1_1Array.html#a0ce32974a0f1ced9ccd181270fb17e6a">end</a>)</td></tr>
<tr class="memdesc:a9095f1bac4bfa8eec9f4c080dba54d8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">reset the array to content from iterator. <a href="#a9095f1bac4bfa8eec9f4c080dba54d8f">More...</a><br /></td></tr>
<tr class="separator:a9095f1bac4bfa8eec9f4c080dba54d8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60411d7fc9e4b12a79d2724773475fa9"><td class="memItemLeft" align="right" valign="top">const T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a60411d7fc9e4b12a79d2724773475fa9">operator[]</a> (size_t i) const </td></tr>
<tr class="memdesc:a60411d7fc9e4b12a79d2724773475fa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read i-th element from array. <a href="#a60411d7fc9e4b12a79d2724773475fa9">More...</a><br /></td></tr>
<tr class="separator:a60411d7fc9e4b12a79d2724773475fa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa02254d75bec7d95d067f1ea2f99c37b"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#aa02254d75bec7d95d067f1ea2f99c37b">size</a> () const </td></tr>
<tr class="separator:aa02254d75bec7d95d067f1ea2f99c37b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9debff88636171cdbca2c4a220064d40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1ArrayNode.html">ArrayNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a9debff88636171cdbca2c4a220064d40">CopyOnWrite</a> ()</td></tr>
<tr class="memdesc:a9debff88636171cdbca2c4a220064d40"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy on write semantics Do nothing if current handle is the unique copy of the array. Otherwise make a new copy of the array to ensure the current handle hold a unique copy. <a href="#a9debff88636171cdbca2c4a220064d40">More...</a><br /></td></tr>
<tr class="separator:a9debff88636171cdbca2c4a220064d40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e856b04be89c5f8e836cb5c6abed9a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a1e856b04be89c5f8e836cb5c6abed9a1">push_back</a> (const T &amp;item)</td></tr>
<tr class="memdesc:a1e856b04be89c5f8e836cb5c6abed9a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">push a new item to the back of the list <a href="#a1e856b04be89c5f8e836cb5c6abed9a1">More...</a><br /></td></tr>
<tr class="separator:a1e856b04be89c5f8e836cb5c6abed9a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c11277e346b8a78155f3ff46f7a9298"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a9c11277e346b8a78155f3ff46f7a9298">resize</a> (size_t <a class="el" href="classmxnet_1_1Array.html#aa02254d75bec7d95d067f1ea2f99c37b">size</a>)</td></tr>
<tr class="memdesc:a9c11277e346b8a78155f3ff46f7a9298"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resize the array. <a href="#a9c11277e346b8a78155f3ff46f7a9298">More...</a><br /></td></tr>
<tr class="separator:a9c11277e346b8a78155f3ff46f7a9298"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a641d65835daceebf743dd0c683a5bdae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a641d65835daceebf743dd0c683a5bdae">Set</a> (size_t i, const T &amp;value)</td></tr>
<tr class="memdesc:a641d65835daceebf743dd0c683a5bdae"><td class="mdescLeft">&#160;</td><td class="mdescRight">set i-th element of the array. <a href="#a641d65835daceebf743dd0c683a5bdae">More...</a><br /></td></tr>
<tr class="separator:a641d65835daceebf743dd0c683a5bdae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada1e89c0ff602e3fb1e7997df2dd21fc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#ada1e89c0ff602e3fb1e7997df2dd21fc">empty</a> () const </td></tr>
<tr class="separator:ada1e89c0ff602e3fb1e7997df2dd21fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed953611d4d515eef787cc2f30f76599"><td class="memTemplParams" colspan="2">template&lt;typename F &gt; </td></tr>
<tr class="memitem:aed953611d4d515eef787cc2f30f76599"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#aed953611d4d515eef787cc2f30f76599">MutateByApply</a> (F fmutate)</td></tr>
<tr class="memdesc:aed953611d4d515eef787cc2f30f76599"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to apply fmutate to mutate an array. <a href="#aed953611d4d515eef787cc2f30f76599">More...</a><br /></td></tr>
<tr class="separator:aed953611d4d515eef787cc2f30f76599"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a267e8941a2bb60d3c4ef82f9f52dbb69"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1Array.html#a50dc5aac14db086cdf2ad0bdc2f2fa71">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a267e8941a2bb60d3c4ef82f9f52dbb69">begin</a> () const </td></tr>
<tr class="separator:a267e8941a2bb60d3c4ef82f9f52dbb69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ce32974a0f1ced9ccd181270fb17e6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1Array.html#a50dc5aac14db086cdf2ad0bdc2f2fa71">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a0ce32974a0f1ced9ccd181270fb17e6a">end</a> () const </td></tr>
<tr class="separator:a0ce32974a0f1ced9ccd181270fb17e6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae33eb3cfd4048349220a727a6509622b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1Array.html#aad789d2d9ca9a4e9b5a4bfdf343c6aae">reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#ae33eb3cfd4048349220a727a6509622b">rbegin</a> () const </td></tr>
<tr class="separator:ae33eb3cfd4048349220a727a6509622b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18590fe3a2614479a3bb9ebad61614bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1Array.html#aad789d2d9ca9a4e9b5a4bfdf343c6aae">reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1Array.html#a18590fe3a2614479a3bb9ebad61614bb">rend</a> () const </td></tr>
<tr class="separator:a18590fe3a2614479a3bb9ebad61614bb"><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 T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt;<br />
class mxnet::Array&lt; T, typename &gt;</h3>
<p><a class="el" href="classmxnet_1_1Array.html" title="Array container of NodeRef in DSL graph. Array implements copy on write semantics, which means array is mutable but copy will happen when array is referenced in more than two places. ">Array</a> container of NodeRef in DSL graph. <a class="el" href="classmxnet_1_1Array.html" title="Array container of NodeRef in DSL graph. Array implements copy on write semantics, which means array is mutable but copy will happen when array is referenced in more than two places. ">Array</a> implements copy on write semantics, which means array is mutable but copy will happen when array is referenced in more than two places. </p>
<p>operator[] only provide const acces, use Set to mutate the content. </p><dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>The content NodeRef type. </td></tr>
</table>
</dd>
</dl>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="aaedad023cadaf0d11c6ac8bc7aea6c13"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::<a class="el" href="classmxnet_1_1Array.html#aaedad023cadaf0d11c6ac8bc7aea6c13">ContainerType</a> = <a class="el" href="classmxnet_1_1ArrayNode.html">ArrayNode</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>specify container node </p>
</div>
</div>
<a class="anchor" id="a50dc5aac14db086cdf2ad0bdc2f2fa71"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::<a class="el" href="classmxnet_1_1Array.html#a50dc5aac14db086cdf2ad0bdc2f2fa71">iterator</a> = <a class="el" href="classmxnet_1_1IterAdapter.html">IterAdapter</a>&lt;<a class="el" href="structmxnet_1_1Array_1_1ValueConverter.html">ValueConverter</a>, std::vector&lt;ObjectRef&gt;::const_iterator&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aad789d2d9ca9a4e9b5a4bfdf343c6aae"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::<a class="el" href="classmxnet_1_1Array.html#aad789d2d9ca9a4e9b5a4bfdf343c6aae">reverse_iterator</a> = <a class="el" href="classmxnet_1_1IterAdapter.html">IterAdapter</a>&lt; <a class="el" href="structmxnet_1_1Array_1_1ValueConverter.html">ValueConverter</a>, std::vector&lt;ObjectRef&gt;::const_reverse_iterator&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a68d4cd81b6175aa7532234fae2cb5d59"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::<a class="el" href="classmxnet_1_1Array.html">Array</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>default constructor </p>
</div>
</div>
<a class="anchor" id="a00c3797ab4a9fbddbf191652bef44809"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::<a class="el" href="classmxnet_1_1Array.html">Array</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmxnet_1_1Array.html">Array</a>&lt; T &gt; &amp;&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>move constructor </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>source </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a2640d179bd36bea8c7a46aaeca5ae58e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::<a class="el" href="classmxnet_1_1Array.html">Array</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1Array.html">Array</a>&lt; T &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>copy constructor </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>source </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aee1c5a8e4fae05ed35f4e6fc009d3997"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::<a class="el" href="classmxnet_1_1Array.html">Array</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmxnet_1_1runtime_1_1ObjectPtr.html">runtime::ObjectPtr</a>&lt; Object &gt;&#160;</td>
<td class="paramname"><em>n</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>constructor from pointer </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">n</td><td>the container pointer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a75dc7b5ab19d402fda807b7108eda4ef"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<div class="memtemplate">
template&lt;typename IterType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::<a class="el" href="classmxnet_1_1Array.html">Array</a> </td>
<td>(</td>
<td class="paramtype">IterType&#160;</td>
<td class="paramname"><em>begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IterType&#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>constructor from iterator </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">begin</td><td>begin of iterator </td></tr>
<tr><td class="paramname">end</td><td>end of iterator </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">IterType</td><td>The type of iterator </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a0027f124b02851939efab84ce57887d8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::<a class="el" href="classmxnet_1_1Array.html">Array</a> </td>
<td>(</td>
<td class="paramtype">std::initializer_list&lt; T &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 initalizer list </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab973c70d95c2813049a9376853628afe"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::<a class="el" href="classmxnet_1_1Array.html">Array</a> </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; T &gt; &amp;&#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="aadd7404faea67e3af90867d18d1e0da6"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::<a class="el" href="classmxnet_1_1Array.html">Array</a> </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>val</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 class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs a container with n elements. Each element is a copy of val. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">n</td><td>The size of the container </td></tr>
<tr><td class="paramname">val</td><td>The init value </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a9095f1bac4bfa8eec9f4c080dba54d8f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<div class="memtemplate">
template&lt;typename IterType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::assign </td>
<td>(</td>
<td class="paramtype">IterType&#160;</td>
<td class="paramname"><em>begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IterType&#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>reset the array to content from iterator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">begin</td><td>begin of iterator </td></tr>
<tr><td class="paramname">end</td><td>end of iterator </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">IterType</td><td>The type of iterator </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a267e8941a2bb60d3c4ef82f9f52dbb69"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1Array.html#a50dc5aac14db086cdf2ad0bdc2f2fa71">iterator</a> <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &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>begin iterator </dd></dl>
</div>
</div>
<a class="anchor" id="a9debff88636171cdbca2c4a220064d40"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1ArrayNode.html">ArrayNode</a>* <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::CopyOnWrite </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>copy on write semantics Do nothing if current handle is the unique copy of the array. Otherwise make a new copy of the array to ensure the current handle hold a unique copy. </p>
<dl class="section return"><dt>Returns</dt><dd>Handle to the internal node container(which ganrantees to be unique) </dd></dl>
</div>
</div>
<a class="anchor" id="ada1e89c0ff602e3fb1e7997df2dd21fc"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::empty </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>whether array is empty </dd></dl>
</div>
</div>
<a class="anchor" id="a0ce32974a0f1ced9ccd181270fb17e6a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1Array.html#a50dc5aac14db086cdf2ad0bdc2f2fa71">iterator</a> <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &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>end iterator </dd></dl>
</div>
</div>
<a class="anchor" id="aed953611d4d515eef787cc2f30f76599"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<div class="memtemplate">
template&lt;typename F &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::MutateByApply </td>
<td>(</td>
<td class="paramtype">F&#160;</td>
<td class="paramname"><em>fmutate</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>Helper function to apply fmutate to mutate an array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fmutate</td><td>The transformation function T -&gt; T. </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">F</td><td>the type of the mutation function. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This function performs copy on write optimization. </dd></dl>
</div>
</div>
<a class="anchor" id="a8072807d0c6f5b2a062d6f67ec6d0d34"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1Array.html">Array</a>&lt;T&gt;&amp; <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmxnet_1_1Array.html">Array</a>&lt; T &gt; &amp;&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>move assign operator </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>The source of assignment </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to self. </dd></dl>
</div>
</div>
<a class="anchor" id="a3c86bf10ff15554b85d14039fa3fe28d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1Array.html">Array</a>&lt;T&gt;&amp; <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1Array.html">Array</a>&lt; T &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>copy assign operator </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>The source of assignment </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to self. </dd></dl>
</div>
</div>
<a class="anchor" id="a60411d7fc9e4b12a79d2724773475fa9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const T <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &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>Read i-th element from array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i</td><td>The index </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the i-th element. </dd></dl>
</div>
</div>
<a class="anchor" id="a1e856b04be89c5f8e836cb5c6abed9a1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::push_back </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>item</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>push a new item to the back of the list </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">item</td><td>The item to be pushed. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ae33eb3cfd4048349220a727a6509622b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1Array.html#aad789d2d9ca9a4e9b5a4bfdf343c6aae">reverse_iterator</a> <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::rbegin </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>rbegin iterator </dd></dl>
</div>
</div>
<a class="anchor" id="a18590fe3a2614479a3bb9ebad61614bb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1Array.html#aad789d2d9ca9a4e9b5a4bfdf343c6aae">reverse_iterator</a> <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::rend </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>rend iterator </dd></dl>
</div>
</div>
<a class="anchor" id="a9c11277e346b8a78155f3ff46f7a9298"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::resize </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</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>Resize the array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">size</td><td>The new size. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a641d65835daceebf743dd0c683a5bdae"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::Set </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>value</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>set i-th element of the array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i</td><td>The index </td></tr>
<tr><td class="paramname">value</td><td>The value to be setted. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aa02254d75bec7d95d067f1ea2f99c37b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, typename = typename std::enable_if&lt;std::is_base_of&lt;ObjectRef, T&gt;::value&gt;::type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmxnet_1_1Array.html">mxnet::Array</a>&lt; T, typename &gt;::size </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 size of the array </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/work/mxnet/include/mxnet/node/<a class="el" href="node_2container_8h_source.html">container.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Sep 11 2020 03:38:05 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>