blob: cd48ff3d73b4ae2cbdfe1526462fa5cce3dc8347 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mxnet: /work/mxnet/include/mxnet/runtime/container_ext.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">mxnet
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_1143c7affb9ebd026cb6818dd282def7.html">mxnet</a></li><li class="navelem"><a class="el" href="dir_8e7a93613ef4c7e7d673effa691c1739.html">runtime</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">container_ext.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="container__ext_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * distributed with this work for additional information</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * &quot;License&quot;); you may not use this file except in compliance</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * software distributed under the License is distributed on an</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * KIND, either express or implied. See the License for the</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * specific language governing permissions and limitations</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * under the License.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// Acknowledgement: This file originates from dgl</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#ifndef MXNET_RUNTIME_CONTAINER_EXT_H_</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#define MXNET_RUNTIME_CONTAINER_EXT_H_</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &lt;dmlc/logging.h&gt;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2mxnet_2runtime_2memory_8h.html">mxnet/runtime/memory.h</a>&gt;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="object_8h.html">mxnet/runtime/object.h</a>&gt;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &lt;string_view&gt;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &lt;initializer_list&gt;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;type_traits&gt;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemxnet.html">mxnet</a> {</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">namespace </span>runtime {</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment">// Forward declare MXNetArgValue</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">class </span>MXNetArgValue;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="structmxnet_1_1runtime_1_1ObjectRefHash.html"> 46</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structmxnet_1_1runtime_1_1ObjectRefHash.html">ObjectRefHash</a> {</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structmxnet_1_1runtime_1_1ObjectRefHash.html#a7279d023e8c5ffbf58cbbb5620956757">operator()</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a>&amp; a) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;};</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structmxnet_1_1runtime_1_1ObjectRefEqual.html"> 56</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structmxnet_1_1runtime_1_1ObjectRefEqual.html">ObjectRefEqual</a> {</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structmxnet_1_1runtime_1_1ObjectRefEqual.html#a3db6837738cc5616bca97cafce41a1cf">operator()</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a>&amp; a, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a>&amp; b) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;};</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html"> 67</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmxnet_1_1runtime_1_1MapObj.html">MapObj</a> : <span class="keyword">public</span> <a class="code" href="classmxnet_1_1runtime_1_1Object.html">Object</a> {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a70f6a1b8d9ad918d7ca230d533fb3b77"> 70</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">key_type</a> = <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a>;</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a0b3a7098284025acb298da7e7ebeab56"> 72</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">mapped_type</a> = <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a3da2dfce873b062a704389a08cc097fb"> 74</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a3da2dfce873b062a704389a08cc097fb">ContainerType</a> = std::unordered_map&lt;ObjectRef, ObjectRef, ObjectRefHash, ObjectRefEqual&gt;;</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a3a3e33dca3e441fc79409773a56147ea"> 76</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a3a3e33dca3e441fc79409773a56147ea">iterator</a> = ContainerType::iterator;</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a10944f612ffa7db16cac5ec6a2ea1b7f"> 78</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a10944f612ffa7db16cac5ec6a2ea1b7f">const_iterator</a> = ContainerType::const_iterator;</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a806c3a501188b0cd0d0a5ffae60fec95"> 80</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a806c3a501188b0cd0d0a5ffae60fec95">KVType</a> = ContainerType::value_type;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; static_assert(std::is_standard_layout&lt;KVType&gt;::value, <span class="stringliteral">&quot;KVType is not standard layout&quot;</span>);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; static_assert(<span class="keyword">sizeof</span>(<a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a806c3a501188b0cd0d0a5ffae60fec95">KVType</a>) == 16 || <span class="keyword">sizeof</span>(<a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a806c3a501188b0cd0d0a5ffae60fec95">KVType</a>) == 8, <span class="stringliteral">&quot;sizeof(KVType) incorrect&quot;</span>);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; </div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#ab4144de099f74f15de7c0ca8c690c7e7"> 85</a></span>&#160; <span class="keyword">static</span> constexpr <span class="keyword">const</span> uint32_t <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#ab4144de099f74f15de7c0ca8c690c7e7">_type_index</a> = <a class="code" href="namespacemxnet_1_1runtime.html#a43738149e3dac1738390743d3de5cfaca7e465197746c27c835cadd7ee0cef82f">runtime::TypeIndex::kMXNetMap</a>;</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a2b4007e7bd5230d34ae153eb99c28bd3"> 86</a></span>&#160; <span class="keyword">static</span> constexpr <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a2b4007e7bd5230d34ae153eb99c28bd3">_type_key</a> = <span class="stringliteral">&quot;MXNet.Map&quot;</span>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a05e8227c9fef7640992beb9a1f702cec">MXNET_DECLARE_FINAL_OBJECT_INFO</a>(<a class="code" href="classmxnet_1_1runtime_1_1MapObj.html">MapObj</a>, <a class="code" href="classmxnet_1_1runtime_1_1Object.html">Object</a>);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#adcaacacdca47f3d68140a13bb8a73743"> 93</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#adcaacacdca47f3d68140a13bb8a73743">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>.size(); }</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a64384eb681666549bd4f82346266495c"> 99</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a64384eb681666549bd4f82346266495c">count</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">key_type</a>&amp; key)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>.count(key); }</div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a46c5b45f8b8ec5e4d0bb4297738c2d50"> 105</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">mapped_type</a>&amp; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a46c5b45f8b8ec5e4d0bb4297738c2d50">at</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">key_type</a>&amp; key)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>.at(key); }</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a183de455cc237d5468d7848cafdaa351"> 111</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">mapped_type</a>&amp; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a183de455cc237d5468d7848cafdaa351">at</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">key_type</a>&amp; key) { <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>.at(key); }</div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a687d1326778a7dbbad3385f9353c6e2d"> 113</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a3a3e33dca3e441fc79409773a56147ea">iterator</a> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a687d1326778a7dbbad3385f9353c6e2d">begin</a>() { <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>.begin(); }</div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#accc4e781b042c931fdd79a7ec823fa17"> 115</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a10944f612ffa7db16cac5ec6a2ea1b7f">const_iterator</a> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#accc4e781b042c931fdd79a7ec823fa17">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>.begin(); }</div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a6e7ed9775b8c439c0c7f837cd4564bdc"> 117</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a3a3e33dca3e441fc79409773a56147ea">iterator</a> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6e7ed9775b8c439c0c7f837cd4564bdc">end</a>() { <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>.end(); }</div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a11b88ddb95877466dcf0e1273def27e8"> 119</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a10944f612ffa7db16cac5ec6a2ea1b7f">const_iterator</a> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a11b88ddb95877466dcf0e1273def27e8">end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>.end(); }</div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a5524d36fcafca9272a9094b84da94b70"> 125</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a10944f612ffa7db16cac5ec6a2ea1b7f">const_iterator</a> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a5524d36fcafca9272a9094b84da94b70">find</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">key_type</a>&amp; key)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>.find(key); }</div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a73c61d4be2edca81314e979f79040d2e"> 131</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a3a3e33dca3e441fc79409773a56147ea">iterator</a> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a73c61d4be2edca81314e979f79040d2e">find</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">key_type</a>&amp; key) { <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>.find(key); }</div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a9bbe6c2bfa634c1e0c130d48e6b5cdfe"> 136</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a9bbe6c2bfa634c1e0c130d48e6b5cdfe">erase</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a3a3e33dca3e441fc79409773a56147ea">iterator</a>&amp; position) { <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>.erase(position); }</div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a71556a12b75bd60a7b574a6f33002ebc"> 141</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a71556a12b75bd60a7b574a6f33002ebc">erase</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">key_type</a>&amp; key) { <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>.erase(key); }</div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#aad31941278c7e6b2e6342d384aefa6da"> 146</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectPtr.html">ObjectPtr&lt;MapObj&gt;</a> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#aad31941278c7e6b2e6342d384aefa6da">Empty</a>() { <span class="keywordflow">return</span> make_object&lt;MapObj&gt;(); }</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IterType&gt;</div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a2b0f6fc9e8f25d00bcac864202aa6e02"> 157</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectPtr.html">ObjectPtr&lt;Object&gt;</a> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a2b0f6fc9e8f25d00bcac864202aa6e02">CreateFromRange</a>(IterType first, IterType last) {</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1ObjectPtr.html">ObjectPtr&lt;MapObj&gt;</a> p = make_object&lt;MapObj&gt;();</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; p-&gt;data_ = <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a3da2dfce873b062a704389a08cc097fb">ContainerType</a>(first, last);</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> p;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a1c3727961fba6a4690c93d2ce99a2246"> 167</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a1c3727961fba6a4690c93d2ce99a2246">InsertMaybeReHash</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a806c3a501188b0cd0d0a5ffae60fec95">KVType</a>&amp; kv, <a class="code" href="classmxnet_1_1runtime_1_1ObjectPtr.html">ObjectPtr&lt;Object&gt;</a>* map) {</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html">MapObj</a>* map_node = <span class="keyword">static_cast&lt;</span><a class="code" href="classmxnet_1_1runtime_1_1MapObj.html">MapObj</a>*<span class="keyword">&gt;</span>(map-&gt;<a class="code" href="classmxnet_1_1runtime_1_1ObjectPtr.html#aae8d61e486de81ed0aa4b1f038dc9d2d">get</a>());</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; map_node-&gt;<a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>[kv.first] = kv.second;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a7986994964e5faa9d3a9cc47b67d574c"> 176</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectPtr.html">ObjectPtr&lt;MapObj&gt;</a> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a7986994964e5faa9d3a9cc47b67d574c">CopyFrom</a>(<a class="code" href="classmxnet_1_1runtime_1_1MapObj.html">MapObj</a>* from) {</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1ObjectPtr.html">ObjectPtr&lt;MapObj&gt;</a> p = make_object&lt;MapObj&gt;();</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; p-&gt;data_ = <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a3da2dfce873b062a704389a08cc097fb">ContainerType</a>(from-&gt;<a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>.begin(), from-&gt;<a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>.end());</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> p;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }</div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea"> 182</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a3da2dfce873b062a704389a08cc097fb">ContainerType</a> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">data_</a>;</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>, <span class="keyword">typename</span>, <span class="keyword">typename</span>&gt;</div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1MapObj.html#ad052dfd6b3b90d3e5e20ebf5544d550b"> 184</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classmxnet_1_1runtime_1_1Map.html">Map</a>;</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;};</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> K, <span class="keyword">typename</span> V,</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;std::is_base_of&lt;ObjectRef, K&gt;::value&gt;::type,</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;std::is_base_of&lt;ObjectRef, V&gt;::value&gt;::type&gt;</div>
<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html"> 199</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmxnet_1_1runtime_1_1Map.html">Map</a> : <span class="keyword">public</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a> {</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#aa5c67029f78a5cd17cb931b0d5c39a4a"> 201</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classmxnet_1_1runtime_1_1Map.html#aa5c67029f78a5cd17cb931b0d5c39a4a">key_type</a> = K;</div>
<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#a5c30eae913541b748dd21b48e7711b28"> 202</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a5c30eae913541b748dd21b48e7711b28">mapped_type</a> = V;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keyword">class </span><a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html">iterator</a>;</div>
<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#ab2744a60d25b7a28b46c2d75d04f20d5"> 207</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map.html#ab2744a60d25b7a28b46c2d75d04f20d5">Map</a>() { <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a> = <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#aad31941278c7e6b2e6342d384aefa6da">MapObj::Empty</a>(); }</div>
<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#aa42c58889b7ba8e6813a8d6326bae4aa"> 212</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map.html#aa42c58889b7ba8e6813a8d6326bae4aa">Map</a>(<a class="code" href="classmxnet_1_1runtime_1_1Map.html">Map&lt;K, V&gt;</a>&amp;&amp; other) { <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a> = std::move(other.data_); }</div>
<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#a0df1a995dcfede7362dc5fe99af2ff3a"> 217</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a0df1a995dcfede7362dc5fe99af2ff3a">Map</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1Map.html">Map&lt;K, V&gt;</a>&amp; other) : <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a>(other.<a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a>) {}</div>
<div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#a7e7f9f85874b20eaef439a4163c17115"> 223</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map.html">Map&lt;K, V&gt;</a>&amp; <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a7e7f9f85874b20eaef439a4163c17115">operator=</a>(<a class="code" href="classmxnet_1_1runtime_1_1Map.html">Map&lt;K, V&gt;</a>&amp;&amp; other) {</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a> = std::move(other.data_);</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div>
<div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#a80f14824d53dd45b92b974d70efeecbe"> 232</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map.html">Map&lt;K, V&gt;</a>&amp; <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a80f14824d53dd45b92b974d70efeecbe">operator=</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1Map.html">Map&lt;K, V&gt;</a>&amp; other) {</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a> = other.<a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a>;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; }</div>
<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#af59b6a81c591172cc82ebbef4be469af"> 240</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classmxnet_1_1runtime_1_1Map.html#af59b6a81c591172cc82ebbef4be469af">Map</a>(<a class="code" href="classmxnet_1_1runtime_1_1ObjectPtr.html">ObjectPtr&lt;Object&gt;</a> n) : <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a>(n) {}</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IterType&gt;</div>
<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#a6ead366741d097b58e1335b298d6488e"> 248</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a6ead366741d097b58e1335b298d6488e">Map</a>(IterType <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a914d011da01902a7ae047df06fda646a">begin</a>, IterType <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a3260ad74161b89db7de7447e8f5bba6a">end</a>) {</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a> = <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a2b0f6fc9e8f25d00bcac864202aa6e02">MapObj::CreateFromRange</a>(<a class="code" href="classmxnet_1_1runtime_1_1Map.html#a914d011da01902a7ae047df06fda646a">begin</a>, <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a3260ad74161b89db7de7447e8f5bba6a">end</a>);</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div>
<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#a48a568c0e77498c05ebef86e75413143"> 255</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a48a568c0e77498c05ebef86e75413143">Map</a>(std::initializer_list&lt;std::pair&lt;K, V&gt;&gt; init) {</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a> = <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a2b0f6fc9e8f25d00bcac864202aa6e02">MapObj::CreateFromRange</a>(init.begin(), init.end());</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Hash, <span class="keyword">typename</span> Equal&gt;</div>
<div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#a96f3a21ed7a85442eb0f002bd080d40a"> 263</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a96f3a21ed7a85442eb0f002bd080d40a">Map</a>(<span class="keyword">const</span> std::unordered_map&lt;K, V, Hash, Equal&gt;&amp; init) { <span class="comment">// NOLINT(*)</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a> = <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a2b0f6fc9e8f25d00bcac864202aa6e02">MapObj::CreateFromRange</a>(init.begin(), init.end());</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; }</div>
<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#a7164721e393eb9364f5442e241f214c1"> 271</a></span>&#160; <span class="keyword">const</span> V <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a7164721e393eb9364f5442e241f214c1">at</a>(<span class="keyword">const</span> K&amp; key)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DowncastNoCheck&lt;V&gt;(GetMapObj()-&gt;<a class="code" href="classmxnet_1_1runtime_1_1Map.html#a7164721e393eb9364f5442e241f214c1">at</a>(key)); }</div>
<div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#a7a6aa686961933959690f5e6936289ad"> 277</a></span>&#160; <span class="keyword">const</span> V <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a7a6aa686961933959690f5e6936289ad">operator[]</a>(<span class="keyword">const</span> K&amp; key)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> this-&gt;<a class="code" href="classmxnet_1_1runtime_1_1Map.html#a7164721e393eb9364f5442e241f214c1">at</a>(key); }</div>
<div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#ade033e0d69b025fd5b6958ca227ea46e"> 279</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="classmxnet_1_1runtime_1_1Map.html#ade033e0d69b025fd5b6958ca227ea46e">size</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html">MapObj</a>* n = GetMapObj();</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">return</span> n == <span class="keyword">nullptr</span> ? 0 : n-&gt;<a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#adcaacacdca47f3d68140a13bb8a73743">size</a>();</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; }</div>
<div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#a102c469086eeb044878701e43c57a38e"> 284</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a102c469086eeb044878701e43c57a38e">count</a>(<span class="keyword">const</span> K&amp; key)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html">MapObj</a>* n = GetMapObj();</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">return</span> n == <span class="keyword">nullptr</span> ? 0 : GetMapObj()-&gt;<a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a64384eb681666549bd4f82346266495c">count</a>(key);</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; }</div>
<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#afdbfd4091a4fca1ca44dad994c69eca1"> 289</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classmxnet_1_1runtime_1_1Map.html#afdbfd4091a4fca1ca44dad994c69eca1">empty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1Map.html#ade033e0d69b025fd5b6958ca227ea46e">size</a>() == 0; }</div>
<div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#ac048ed9828a674b149c296416c702ecf"> 295</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmxnet_1_1runtime_1_1Map.html#ac048ed9828a674b149c296416c702ecf">Set</a>(<span class="keyword">const</span> K&amp; key, <span class="keyword">const</span> V&amp; value) {</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map.html#ae08f2fe697160e12a023933935572934">CopyOnWrite</a>();</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a1c3727961fba6a4690c93d2ce99a2246">MapObj::InsertMaybeReHash</a>(<a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a806c3a501188b0cd0d0a5ffae60fec95">MapObj::KVType</a>(key, value), &amp;<a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a>);</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div>
<div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#a914d011da01902a7ae047df06fda646a"> 300</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html">iterator</a> <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a914d011da01902a7ae047df06fda646a">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html">iterator</a>(GetMapObj()-&gt;<a class="code" href="classmxnet_1_1runtime_1_1Map.html#a914d011da01902a7ae047df06fda646a">begin</a>()); }</div>
<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#a3260ad74161b89db7de7447e8f5bba6a"> 302</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html">iterator</a> <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a3260ad74161b89db7de7447e8f5bba6a">end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html">iterator</a>(GetMapObj()-&gt;<a class="code" href="classmxnet_1_1runtime_1_1Map.html#a3260ad74161b89db7de7447e8f5bba6a">end</a>()); }</div>
<div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#aed081e693a572733b50ada790f42b047"> 304</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html">iterator</a> <a class="code" href="classmxnet_1_1runtime_1_1Map.html#aed081e693a572733b50ada790f42b047">find</a>(<span class="keyword">const</span> K&amp; key)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html">iterator</a>(GetMapObj()-&gt;<a class="code" href="classmxnet_1_1runtime_1_1Map.html#aed081e693a572733b50ada790f42b047">find</a>(key)); }</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; </div>
<div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#a514b9dcd2d91a7dbb93de7d36124b6e8"> 306</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmxnet_1_1runtime_1_1Map.html#a514b9dcd2d91a7dbb93de7d36124b6e8">erase</a>(<span class="keyword">const</span> K&amp; key) { <a class="code" href="classmxnet_1_1runtime_1_1Map.html#ae08f2fe697160e12a023933935572934">CopyOnWrite</a>()-&gt;<a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a9bbe6c2bfa634c1e0c130d48e6b5cdfe">erase</a>(key); }</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; </div>
<div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#ae08f2fe697160e12a023933935572934"> 316</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html">MapObj</a>* <a class="code" href="classmxnet_1_1runtime_1_1Map.html#ae08f2fe697160e12a023933935572934">CopyOnWrite</a>() {</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a>.get() == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a> = <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#aad31941278c7e6b2e6342d384aefa6da">MapObj::Empty</a>();</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!<a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a>.unique()) {</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a> = <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a7986994964e5faa9d3a9cc47b67d574c">MapObj::CopyFrom</a>(GetMapObj());</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">return</span> GetMapObj();</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; }</div>
<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map.html#a396a1da2e57f95751cccf4e79979fd80"> 325</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html">ContainerType</a> = <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html">MapObj</a>;</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; </div>
<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html"> 328</a></span>&#160; <span class="keyword">class </span><a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html">iterator</a> {</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#afac0df396e8da794b8bc2fae7e8997dc"> 330</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#afac0df396e8da794b8bc2fae7e8997dc">iterator_category</a> = std::bidirectional_iterator_tag;</div>
<div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#aac8588c66abb6452596115f081a037fd"> 331</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#aac8588c66abb6452596115f081a037fd">difference_type</a> = int64_t;</div>
<div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#aabc35591df97be42505164663f6a1954"> 332</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#aabc35591df97be42505164663f6a1954">value_type</a> = <span class="keyword">const</span> std::pair&lt;K, V&gt;;</div>
<div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a9cf291b8df1b9993ca0d1cccb4f51b4a"> 333</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a9cf291b8df1b9993ca0d1cccb4f51b4a">pointer</a> = <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#aabc35591df97be42505164663f6a1954">value_type</a>*;</div>
<div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a769881f7ca066842d3fccc214be38010"> 334</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a769881f7ca066842d3fccc214be38010">reference</a> = <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#aabc35591df97be42505164663f6a1954">value_type</a>;</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; </div>
<div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a32515f4a7e93842e876226b9fb4f711c"> 336</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a32515f4a7e93842e876226b9fb4f711c">iterator</a>() : itr() {}</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; </div>
<div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a0539b40ed6e5a547be71056da002ca03"> 339</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a0539b40ed6e5a547be71056da002ca03">operator==</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html">iterator</a>&amp; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> itr == other.itr; }</div>
<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#aac0c2f6a5dfff09caf9156f98cd7d7e1"> 341</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#aac0c2f6a5dfff09caf9156f98cd7d7e1">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html">iterator</a>&amp; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> itr != other.itr; }</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a9cf291b8df1b9993ca0d1cccb4f51b4a">pointer</a> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a722aa792533afa86b5608bfe85a23f03">operator-&gt;</a>() <span class="keyword">const</span> = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a209cecaf75bb7a5aafbbf274ad772dbd"> 345</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a769881f7ca066842d3fccc214be38010">reference</a> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a209cecaf75bb7a5aafbbf274ad772dbd">operator*</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keyword">auto</span>&amp; kv = *itr;</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">return</span> std::make_pair(DowncastNoCheck&lt;K&gt;(kv.first), DowncastNoCheck&lt;V&gt;(kv.second));</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; }</div>
<div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a0004f281b38444a55ac42ddb0f677734"> 350</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html">iterator</a>&amp; <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a0004f281b38444a55ac42ddb0f677734">operator++</a>() {</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; ++itr;</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; }</div>
<div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a93f9ba2bacf84a5b1f3b0b65116bb236"> 355</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html">iterator</a> <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a93f9ba2bacf84a5b1f3b0b65116bb236">operator++</a>(<span class="keywordtype">int</span>) {</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html">iterator</a> copy = *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; ++(*this);</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">return</span> copy;</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; }</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; </div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a32515f4a7e93842e876226b9fb4f711c">iterator</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a3a3e33dca3e441fc79409773a56147ea">MapObj::iterator</a>&amp; itr) <span class="comment">// NOLINT(*)</span></div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; : itr(itr) {}</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; </div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>, <span class="keyword">typename</span>, <span class="keyword">typename</span>&gt;</div>
<div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#ad052dfd6b3b90d3e5e20ebf5544d550b"> 366</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classmxnet_1_1runtime_1_1Map.html">Map</a>;</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; </div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html#a3a3e33dca3e441fc79409773a56147ea">MapObj::iterator</a> itr;</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; };</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; </div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1MapObj.html">MapObj</a>* GetMapObj()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classmxnet_1_1runtime_1_1MapObj.html">MapObj</a>*<span class="keyword">&gt;</span>(<a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a>.get()); }</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;};</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; </div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> K, <span class="keyword">typename</span> V,</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;std::is_base_of&lt;ObjectRef, K&gt;::value&gt;::type,</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;std::is_base_of&lt;ObjectRef, V&gt;::value&gt;::type&gt;</div>
<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a0527e642fb418c27754a326057ff5a44"> 385</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classmxnet_1_1runtime_1_1Map.html">Map&lt;K, V&gt;</a> <a class="code" href="namespacemxnet_1_1runtime.html#a0527e642fb418c27754a326057ff5a44">Merge</a>(<a class="code" href="classmxnet_1_1runtime_1_1Map.html">Map&lt;K, V&gt;</a> lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1Map.html">Map&lt;K, V&gt;</a>&amp; rhs) {</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; p : rhs) {</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; lhs.<a class="code" href="classmxnet_1_1runtime_1_1Map.html#ac048ed9828a674b149c296416c702ecf">Set</a>(p.first, p.second);</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; }</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">return</span> std::move(lhs);</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;}</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; </div>
<div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1StringObj.html"> 393</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmxnet_1_1runtime_1_1StringObj.html">StringObj</a> : <span class="keyword">public</span> <a class="code" href="classmxnet_1_1runtime_1_1Object.html">Object</a> {</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1StringObj.html#a7451f38f0faf98bcd50c7fb97dde2566"> 396</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classmxnet_1_1runtime_1_1StringObj.html#a7451f38f0faf98bcd50c7fb97dde2566">data</a>;</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; </div>
<div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1StringObj.html#a5a3b879e891a9de73bb1849b28911aee"> 399</a></span>&#160; uint64_t <a class="code" href="classmxnet_1_1runtime_1_1StringObj.html#a5a3b879e891a9de73bb1849b28911aee">size</a>;</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; </div>
<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1StringObj.html#a3c71fb179152ea8e842d5cd0920a34eb"> 401</a></span>&#160; <span class="keyword">static</span> constexpr <span class="keyword">const</span> uint32_t <a class="code" href="classmxnet_1_1runtime_1_1StringObj.html#a3c71fb179152ea8e842d5cd0920a34eb">_type_index</a> = <a class="code" href="namespacemxnet_1_1runtime.html#a43738149e3dac1738390743d3de5cfaca979d4bd568d6e9233185b070f4d4a740">TypeIndex::kMXNetString</a>;</div>
<div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1StringObj.html#ae7c5057455e6eb01c8d115e5d04bd089"> 402</a></span>&#160; <span class="keyword">static</span> constexpr <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classmxnet_1_1runtime_1_1StringObj.html#ae7c5057455e6eb01c8d115e5d04bd089">_type_key</a> = <span class="stringliteral">&quot;MXNet.String&quot;</span>;</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1StringObj.html#a5e540bb1951b5fef7d0937dbe971edb1">MXNET_DECLARE_FINAL_OBJECT_INFO</a>(<a class="code" href="classmxnet_1_1runtime_1_1StringObj.html">StringObj</a>, <a class="code" href="classmxnet_1_1runtime_1_1Object.html">Object</a>);</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; </div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1StringObj.html#a7fb804f7dc96dd9f705c84095f37f1ca"> 407</a></span>&#160; <span class="keyword">class </span><a class="code" href="classmxnet_1_1runtime_1_1StringObj_1_1FromStd.html">FromStd</a>;</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; </div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>;</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;};</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; </div>
<div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html"> 438</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a> : <span class="keyword">public</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a> {</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0"> 443</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String</a>() : <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>(<a class="code" href="namespacestd.html">std</a>::string()) {}</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String</a>(std::string other); <span class="comment">// NOLINT(*)</span></div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; </div>
<div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#a5cdde4b0769cb6e71a6907bbe78c3247"> 459</a></span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1String.html#a5cdde4b0769cb6e71a6907bbe78c3247">String</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* other) <span class="comment">// NOLINT(*)</span></div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; : <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>(<a class="code" href="namespacestd.html">std</a>::string(other)) {}</div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; </div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <span class="keyword">inline</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; <a class="code" href="classmxnet_1_1runtime_1_1String.html#a6aee9b4ae9b09d649f145a71487c1f4e">operator=</a>(std::string other);</div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; </div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keyword">inline</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; <a class="code" href="classmxnet_1_1runtime_1_1String.html#a6aee9b4ae9b09d649f145a71487c1f4e">operator=</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* other);</div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; </div>
<div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e"> 485</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; other)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">return</span> memncmp(<a class="code" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">data</a>(), other.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">data</a>(), <a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>(), other.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>());</div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; }</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; </div>
<div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#a3bf6bb8c8e1931968d0d1f2fa3ce639b"> 497</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a3bf6bb8c8e1931968d0d1f2fa3ce639b">compare</a>(<span class="keyword">const</span> std::string&amp; other)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">return</span> memncmp(<a class="code" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">data</a>(), other.data(), <a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>(), other.size());</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; </div>
<div class="line"><a name="l00509"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#a863a85b2b25e333e151ba02dcddbe8d8"> 509</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a863a85b2b25e333e151ba02dcddbe8d8">compare</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* other)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">return</span> memncmp(<a class="code" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">data</a>(), other, <a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>(), std::stold(other));</div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; }</div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; </div>
<div class="line"><a name="l00518"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#a5b10bb7f755129cced8ea1f0902338be"> 518</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classmxnet_1_1runtime_1_1String.html#a5b10bb7f755129cced8ea1f0902338be">c_str</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#af10de3ce2f4984f44a4ab6341aaef3e0">get</a>()-&gt;data; }</div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; </div>
<div class="line"><a name="l00525"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692"> 525</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span>* ptr = <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#af10de3ce2f4984f44a4ab6341aaef3e0">get</a>();</div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">return</span> ptr-&gt;size;</div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; }</div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; </div>
<div class="line"><a name="l00535"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#ae6c0d059f2813524c8c6630b7ab9c0ac"> 535</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#ae6c0d059f2813524c8c6630b7ab9c0ac">length</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>(); }</div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; </div>
<div class="line"><a name="l00542"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#aa67bf654c00eeebb68ca702421de4963"> 542</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#aa67bf654c00eeebb68ca702421de4963">empty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>() == 0; }</div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; </div>
<div class="line"><a name="l00549"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c"> 549</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">data</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#af10de3ce2f4984f44a4ab6341aaef3e0">get</a>()-&gt;data; }</div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; </div>
<div class="line"><a name="l00556"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#ac761c9b339a2e2669df0f5a96649d316"> 556</a></span>&#160; <span class="keyword">operator</span> std::string()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> std::string{<a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#af10de3ce2f4984f44a4ab6341aaef3e0">get</a>()-&gt;data, <a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>()}; }</div>
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; </div>
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a09cb499efeed4cf00760b71d01933015">CanConvertFrom</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1MXNetArgValue.html">MXNetArgValue</a>&amp; val);</div>
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; </div>
<div class="line"><a name="l00571"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#a8cb8daba0bd5d66f7068cdfb33bc8181"> 571</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">size_t</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a8cb8daba0bd5d66f7068cdfb33bc8181">HashBytes</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">data</a>, <span class="keywordtype">size_t</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>) {</div>
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="comment">// This function falls back to string copy with c++11 compiler and is</span></div>
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="comment">// recommended to be compiled with c++14</span></div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">return</span> std::hash&lt;std::string_view&gt;()(std::string_view(<a class="code" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">data</a>, <a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>));</div>
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; }</div>
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; </div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1String.html#a253713fbe20d09e1a320a1b011827e84">MXNET_DEFINE_NOTNULLABLE_OBJECT_REF_METHODS</a>(<a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>, <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a>, <a class="code" href="classmxnet_1_1runtime_1_1StringObj.html">StringObj</a>);</div>
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; </div>
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keyword">static</span> <span class="keywordtype">int</span> memncmp(<span class="keyword">const</span> <span class="keywordtype">char</span>* lhs, <span class="keyword">const</span> <span class="keywordtype">char</span>* rhs, <span class="keywordtype">size_t</span> lhs_count, <span class="keywordtype">size_t</span> rhs_count);</div>
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; </div>
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="keyword">static</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a> Concat(<span class="keyword">const</span> <span class="keywordtype">char</span>* lhs, <span class="keywordtype">size_t</span> lhs_size, <span class="keyword">const</span> <span class="keywordtype">char</span>* rhs, <span class="keywordtype">size_t</span> rhs_size) {</div>
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; std::string ret(lhs, lhs_size);</div>
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; ret.append(rhs, rhs_size);</div>
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String</a>(ret);</div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; }</div>
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; </div>
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="comment">// Overload + operator</span></div>
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="keyword">friend</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String</a> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a346acdf3143412eaab63e8f3664cd575">operator+</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String</a>&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String</a>&amp; rhs);</div>
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keyword">friend</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String</a> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a346acdf3143412eaab63e8f3664cd575">operator+</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String</a>&amp; lhs, <span class="keyword">const</span> std::string&amp; rhs);</div>
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keyword">friend</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String</a> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a346acdf3143412eaab63e8f3664cd575">operator+</a>(<span class="keyword">const</span> std::string&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String</a>&amp; rhs);</div>
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keyword">friend</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String</a> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a346acdf3143412eaab63e8f3664cd575">operator+</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String</a>&amp; lhs, <span class="keyword">const</span> <span class="keywordtype">char</span>* rhs);</div>
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keyword">friend</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String</a> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a346acdf3143412eaab63e8f3664cd575">operator+</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String</a>&amp; rhs);</div>
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; </div>
<div class="line"><a name="l00615"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#aed3386f3e994b77b9cca57265268a02e"> 615</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">struct </span><a class="code" href="structmxnet_1_1runtime_1_1ObjectRefEqual.html">mxnet::runtime::ObjectRefEqual</a>;</div>
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;};</div>
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; </div>
<div class="line"><a name="l00619"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1StringObj_1_1FromStd.html"> 619</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmxnet_1_1runtime_1_1StringObj_1_1FromStd.html">StringObj::FromStd</a> : <span class="keyword">public</span> <a class="code" href="classmxnet_1_1runtime_1_1StringObj.html">StringObj</a> {</div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00629"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1StringObj_1_1FromStd.html#a7d96ba0c90240037ebc4265a5fc301f5"> 629</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classmxnet_1_1runtime_1_1StringObj_1_1FromStd.html#a7d96ba0c90240037ebc4265a5fc301f5">FromStd</a>(std::string other) : data_container{other} {}</div>
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; </div>
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; std::string data_container;</div>
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; </div>
<div class="line"><a name="l00635"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1StringObj_1_1FromStd.html#a7fb804f7dc96dd9f705c84095f37f1ca"> 635</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>;</div>
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;};</div>
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; </div>
<div class="line"><a name="l00638"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#ac8a5fa72e20f2fd87296cab37a535a49"> 638</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">String::String</a>(std::string other) {</div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keyword">auto</span> ptr = make_object&lt;StringObj::FromStd&gt;(std::move(other));</div>
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; ptr-&gt;size = ptr-&gt;data_container.size();</div>
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; ptr-&gt;data = ptr-&gt;data_container.data();</div>
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a> = std::move(ptr);</div>
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;}</div>
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; </div>
<div class="line"><a name="l00645"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#a6aee9b4ae9b09d649f145a71487c1f4e"> 645</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; <a class="code" href="classmxnet_1_1runtime_1_1String.html#a6aee9b4ae9b09d649f145a71487c1f4e">String::operator=</a>(std::string other) {</div>
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a> replace{std::move(other)};</div>
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a>.swap(replace.data_);</div>
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;}</div>
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; </div>
<div class="line"><a name="l00651"></a><span class="lineno"><a class="line" href="classmxnet_1_1runtime_1_1String.html#a259c825990ae123b8ec95674abae3218"> 651</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; <a class="code" href="classmxnet_1_1runtime_1_1String.html#a6aee9b4ae9b09d649f145a71487c1f4e">String::operator=</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* other) { <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a6aee9b4ae9b09d649f145a71487c1f4e">operator=</a>(std::string(other)); }</div>
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; </div>
<div class="line"><a name="l00653"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a38b46ae1ab051393dad25a5bc0a012dd"> 653</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a> <a class="code" href="namespacemxnet_1_1runtime.html#a38b46ae1ab051393dad25a5bc0a012dd">operator+</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) {</div>
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="keywordtype">size_t</span> lhs_size = lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>();</div>
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordtype">size_t</span> rhs_size = rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>();</div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keywordflow">return</span> String::Concat(lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">data</a>(), lhs_size, rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">data</a>(), rhs_size);</div>
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;}</div>
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; </div>
<div class="line"><a name="l00659"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a355fc0b2c31cc94be8e3878e62f9253a"> 659</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a> <a class="code" href="namespacemxnet_1_1runtime.html#a38b46ae1ab051393dad25a5bc0a012dd">operator+</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> std::string&amp; rhs) {</div>
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="keywordtype">size_t</span> lhs_size = lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>();</div>
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordtype">size_t</span> rhs_size = rhs.size();</div>
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keywordflow">return</span> String::Concat(lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">data</a>(), lhs_size, rhs.data(), rhs_size);</div>
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;}</div>
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; </div>
<div class="line"><a name="l00665"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#ac3cfc6e86ba2afd4f4479abe4001084b"> 665</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a> <a class="code" href="namespacemxnet_1_1runtime.html#a38b46ae1ab051393dad25a5bc0a012dd">operator+</a>(<span class="keyword">const</span> std::string&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) {</div>
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordtype">size_t</span> lhs_size = lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>();</div>
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordtype">size_t</span> rhs_size = rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>();</div>
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keywordflow">return</span> String::Concat(lhs.data(), lhs_size, rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">data</a>(), rhs_size);</div>
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160;}</div>
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; </div>
<div class="line"><a name="l00671"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a97fccbac9f9fb7f91399d4374164a724"> 671</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a> <a class="code" href="namespacemxnet_1_1runtime.html#a38b46ae1ab051393dad25a5bc0a012dd">operator+</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) {</div>
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keywordtype">size_t</span> lhs_size = std::stold(lhs);</div>
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="keywordtype">size_t</span> rhs_size = rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>();</div>
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">return</span> String::Concat(lhs, lhs_size, rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">data</a>(), rhs_size);</div>
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;}</div>
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; </div>
<div class="line"><a name="l00677"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#aebac89a171285f59545a6fa6e78a020e"> 677</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a> <a class="code" href="namespacemxnet_1_1runtime.html#a38b46ae1ab051393dad25a5bc0a012dd">operator+</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> <span class="keywordtype">char</span>* rhs) {</div>
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordtype">size_t</span> lhs_size = lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>();</div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keywordtype">size_t</span> rhs_size = std::stold(rhs);</div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">return</span> String::Concat(lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">data</a>(), lhs_size, rhs, rhs_size);</div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;}</div>
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; </div>
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;<span class="comment">// Overload &lt; operator</span></div>
<div class="line"><a name="l00684"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#afaf0a06f62ddbb7d1f5daff57fd8522f"> 684</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#afaf0a06f62ddbb7d1f5daff57fd8522f">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> std::string&amp; rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) &lt; 0; }</div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; </div>
<div class="line"><a name="l00686"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a95273428f2991aaf231a92112429be0a"> 686</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#afaf0a06f62ddbb7d1f5daff57fd8522f">operator&lt;</a>(<span class="keyword">const</span> std::string&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(lhs) &gt; 0; }</div>
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; </div>
<div class="line"><a name="l00688"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a6e07367b1b11465dab60fcccae5f1506"> 688</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#afaf0a06f62ddbb7d1f5daff57fd8522f">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) &lt; 0; }</div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; </div>
<div class="line"><a name="l00690"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a189a0f1690c81194583c9cb29030fdab"> 690</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#afaf0a06f62ddbb7d1f5daff57fd8522f">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> <span class="keywordtype">char</span>* rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) &lt; 0; }</div>
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; </div>
<div class="line"><a name="l00692"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a8ff07ef072a022420c968ce707f6ebb9"> 692</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#afaf0a06f62ddbb7d1f5daff57fd8522f">operator&lt;</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(lhs) &gt; 0; }</div>
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; </div>
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;<span class="comment">// Overload &gt; operator</span></div>
<div class="line"><a name="l00695"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a10308e9c378a8457908741fbc2ac0dc3"> 695</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a10308e9c378a8457908741fbc2ac0dc3">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> std::string&amp; rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) &gt; 0; }</div>
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; </div>
<div class="line"><a name="l00697"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a4033ceaaed65778f41b9a150fff664ea"> 697</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a10308e9c378a8457908741fbc2ac0dc3">operator&gt;</a>(<span class="keyword">const</span> std::string&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(lhs) &lt; 0; }</div>
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; </div>
<div class="line"><a name="l00699"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a3c3746dcb9b476890145e15b73663b17"> 699</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a10308e9c378a8457908741fbc2ac0dc3">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) &gt; 0; }</div>
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; </div>
<div class="line"><a name="l00701"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#af603225d41c940c559f5c06707057bf4"> 701</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a10308e9c378a8457908741fbc2ac0dc3">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> <span class="keywordtype">char</span>* rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) &gt; 0; }</div>
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; </div>
<div class="line"><a name="l00703"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#abddaddc91f8cb3faf023941b7d6c787a"> 703</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a10308e9c378a8457908741fbc2ac0dc3">operator&gt;</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(lhs) &lt; 0; }</div>
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; </div>
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160;<span class="comment">// Overload &lt;= operator</span></div>
<div class="line"><a name="l00706"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#ac6ae46151b0302b2e42868d0a0e356ea"> 706</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#ac6ae46151b0302b2e42868d0a0e356ea">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> std::string&amp; rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) &lt;= 0; }</div>
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; </div>
<div class="line"><a name="l00708"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#ae1df493222378d19d9313bfea0b3e6c9"> 708</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#ac6ae46151b0302b2e42868d0a0e356ea">operator&lt;=</a>(<span class="keyword">const</span> std::string&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(lhs) &gt;= 0; }</div>
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; </div>
<div class="line"><a name="l00710"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a3658f1167e892a98032ce5cd8d500061"> 710</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#ac6ae46151b0302b2e42868d0a0e356ea">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) &lt;= 0; }</div>
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; </div>
<div class="line"><a name="l00712"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#ab9d1070b51216fd47de04bcfc1507dee"> 712</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#ac6ae46151b0302b2e42868d0a0e356ea">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> <span class="keywordtype">char</span>* rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) &lt;= 0; }</div>
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; </div>
<div class="line"><a name="l00714"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#ab7c8514683df729437e6df2671d75f76"> 714</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#ac6ae46151b0302b2e42868d0a0e356ea">operator&lt;=</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(lhs) &gt;= 0; }</div>
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; </div>
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;<span class="comment">// Overload &gt;= operator</span></div>
<div class="line"><a name="l00717"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a4a57b095313af6df54b0ea24361fd9c9"> 717</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a4a57b095313af6df54b0ea24361fd9c9">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> std::string&amp; rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) &gt;= 0; }</div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; </div>
<div class="line"><a name="l00719"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a3b9aa7931bb6466a9439be06d733ec55"> 719</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a4a57b095313af6df54b0ea24361fd9c9">operator&gt;=</a>(<span class="keyword">const</span> std::string&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(lhs) &lt;= 0; }</div>
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; </div>
<div class="line"><a name="l00721"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a5aca7429b6adb3079589f41f1d8dc483"> 721</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a4a57b095313af6df54b0ea24361fd9c9">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) &gt;= 0; }</div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; </div>
<div class="line"><a name="l00723"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a586e57e36e29c6ec753b46610c4524ce"> 723</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a4a57b095313af6df54b0ea24361fd9c9">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> <span class="keywordtype">char</span>* rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) &gt;= 0; }</div>
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; </div>
<div class="line"><a name="l00725"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a5d1079d9e04bc6a757e50b3e7bd3a350"> 725</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a4a57b095313af6df54b0ea24361fd9c9">operator&gt;=</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) &lt;= 0; }</div>
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; </div>
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;<span class="comment">// Overload == operator</span></div>
<div class="line"><a name="l00728"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a0681ef3f5d70fa6bf2c74903c16cdefd"> 728</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a0681ef3f5d70fa6bf2c74903c16cdefd">operator==</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> std::string&amp; rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) == 0; }</div>
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; </div>
<div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a4317fcf89dfc9b82ab96c8c98ab01711"> 730</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a0681ef3f5d70fa6bf2c74903c16cdefd">operator==</a>(<span class="keyword">const</span> std::string&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(lhs) == 0; }</div>
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; </div>
<div class="line"><a name="l00732"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#ad1932b63a526df76ef38f19738443d27"> 732</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a0681ef3f5d70fa6bf2c74903c16cdefd">operator==</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) == 0; }</div>
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; </div>
<div class="line"><a name="l00734"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a23fe5ad5277a96b971ec693a734f1b4c"> 734</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a0681ef3f5d70fa6bf2c74903c16cdefd">operator==</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> <span class="keywordtype">char</span>* rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) == 0; }</div>
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; </div>
<div class="line"><a name="l00736"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a874ef0a6fe3a17311145bec7899d374e"> 736</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a0681ef3f5d70fa6bf2c74903c16cdefd">operator==</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(lhs) == 0; }</div>
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; </div>
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;<span class="comment">// Overload != operator</span></div>
<div class="line"><a name="l00739"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a4cb8588702f220473ef892784241a6de"> 739</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a4cb8588702f220473ef892784241a6de">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> std::string&amp; rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) != 0; }</div>
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; </div>
<div class="line"><a name="l00741"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a4403efa26c344d8ac5c45f03ad9b738b"> 741</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a4cb8588702f220473ef892784241a6de">operator!=</a>(<span class="keyword">const</span> std::string&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(lhs) != 0; }</div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; </div>
<div class="line"><a name="l00743"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a61f0763689316632109ab72bc1ad222d"> 743</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a4cb8588702f220473ef892784241a6de">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) != 0; }</div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; </div>
<div class="line"><a name="l00745"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a0c4fad3f2d43493e07ad0c96ccfe28d2"> 745</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a4cb8588702f220473ef892784241a6de">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; lhs, <span class="keyword">const</span> <span class="keywordtype">char</span>* rhs) { <span class="keywordflow">return</span> lhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(rhs) != 0; }</div>
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; </div>
<div class="line"><a name="l00747"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#a60c898de2298482b3d1a16e412e2451c"> 747</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespacemxnet_1_1runtime.html#a4cb8588702f220473ef892784241a6de">operator!=</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* lhs, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; rhs) { <span class="keywordflow">return</span> rhs.<a class="code" href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">compare</a>(lhs) != 0; }</div>
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; </div>
<div class="line"><a name="l00749"></a><span class="lineno"><a class="line" href="namespacemxnet_1_1runtime.html#af68138e148571249fa1c48d993a4aa89"> 749</a></span>&#160;<span class="keyword">inline</span> std::ostream&amp; <a class="code" href="namespacemxnet_1_1runtime.html#af68138e148571249fa1c48d993a4aa89">operator&lt;&lt;</a>(std::ostream&amp; out, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html">String</a>&amp; input) {</div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; out.write(input.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">data</a>(), input.<a class="code" href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">size</a>());</div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">return</span> out;</div>
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160;}</div>
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; </div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> String::memncmp(<span class="keyword">const</span> <span class="keywordtype">char</span>* lhs, <span class="keyword">const</span> <span class="keywordtype">char</span>* rhs, <span class="keywordtype">size_t</span> lhs_count, <span class="keywordtype">size_t</span> rhs_count) {</div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">if</span> (lhs == rhs &amp;&amp; lhs_count == rhs_count) <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; </div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; lhs_count &amp;&amp; i &lt; rhs_count; ++i) {</div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="keywordflow">if</span> (lhs[i] &lt; rhs[i]) <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keywordflow">if</span> (lhs[i] &gt; rhs[i]) <span class="keywordflow">return</span> 1;</div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; }</div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="keywordflow">if</span> (lhs_count &lt; rhs_count) {</div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_count &gt; rhs_count) {</div>
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keywordflow">return</span> 1;</div>
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; }</div>
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;}</div>
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; </div>
<div class="line"><a name="l00770"></a><span class="lineno"><a class="line" href="structmxnet_1_1runtime_1_1ObjectRefHash.html#a7279d023e8c5ffbf58cbbb5620956757"> 770</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">size_t</span> <a class="code" href="structmxnet_1_1runtime_1_1ObjectRefHash.html#a7279d023e8c5ffbf58cbbb5620956757">ObjectRefHash::operator()</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a>&amp; a)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <span class="keyword">auto</span>* str = a.<a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a2501a43190c64c4a711281d425a87745">as</a>&lt;<a class="code" href="classmxnet_1_1runtime_1_1StringObj.html">StringObj</a>&gt;()) {</div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classmxnet_1_1runtime_1_1String.html#a8cb8daba0bd5d66f7068cdfb33bc8181">String::HashBytes</a>(str-&gt;data, str-&gt;size);</div>
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; }</div>
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="keywordflow">return</span> <a class="code" href="structmxnet_1_1runtime_1_1ObjectHash.html">ObjectHash</a>()(a);</div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;}</div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; </div>
<div class="line"><a name="l00777"></a><span class="lineno"><a class="line" href="structmxnet_1_1runtime_1_1ObjectRefEqual.html#a3db6837738cc5616bca97cafce41a1cf"> 777</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structmxnet_1_1runtime_1_1ObjectRefEqual.html#a3db6837738cc5616bca97cafce41a1cf">ObjectRefEqual::operator()</a>(<span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a>&amp; a, <span class="keyword">const</span> <a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a>&amp; b)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <span class="keywordflow">if</span> (a.<a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a95de2a92783738031bf76edc2be7a6bd">same_as</a>(b)) {</div>
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; }</div>
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <span class="keyword">auto</span>* str_a = a.<a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a2501a43190c64c4a711281d425a87745">as</a>&lt;<a class="code" href="classmxnet_1_1runtime_1_1StringObj.html">StringObj</a>&gt;()) {</div>
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <span class="keyword">auto</span>* str_b = b.<a class="code" href="classmxnet_1_1runtime_1_1ObjectRef.html#a2501a43190c64c4a711281d425a87745">as</a>&lt;<a class="code" href="classmxnet_1_1runtime_1_1StringObj.html">StringObj</a>&gt;()) {</div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="keywordflow">return</span> String::memncmp(str_a-&gt;data, str_b-&gt;data, str_a-&gt;size, str_b-&gt;size) == 0;</div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; }</div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; }</div>
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;}</div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; </div>
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;} <span class="comment">// namespace runtime</span></div>
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;} <span class="comment">// namespace mxnet</span></div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; </div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;<span class="preprocessor">#endif // MXNET_RUNTIME_CONTAINER_EXT_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_a7164721e393eb9364f5442e241f214c1"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#a7164721e393eb9364f5442e241f214c1">mxnet::runtime::Map::at</a></div><div class="ttdeci">const V at(const K &amp;key) const</div><div class="ttdoc">Read element from map.</div><div class="ttdef"><b>Definition:</b> container_ext.h:271</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a6472e19e966f61dde77384167ca9e3ea"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a6472e19e966f61dde77384167ca9e3ea">mxnet::runtime::MapObj::data_</a></div><div class="ttdeci">ContainerType data_</div><div class="ttdoc">The real container storing data.</div><div class="ttdef"><b>Definition:</b> container_ext.h:182</div></div>
<div class="ttc" id="anamespacemxnet_html"><div class="ttname"><a href="namespacemxnet.html">mxnet</a></div><div class="ttdoc">namespace of mxnet</div><div class="ttdef"><b>Definition:</b> api_registry.h:33</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a11b88ddb95877466dcf0e1273def27e8"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a11b88ddb95877466dcf0e1273def27e8">mxnet::runtime::MapObj::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition:</b> container_ext.h:119</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_a102c469086eeb044878701e43c57a38e"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#a102c469086eeb044878701e43c57a38e">mxnet::runtime::Map::count</a></div><div class="ttdeci">size_t count(const K &amp;key) const</div><div class="ttdef"><b>Definition:</b> container_ext.h:284</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1ObjectRef_html_af10de3ce2f4984f44a4ab6341aaef3e0"><div class="ttname"><a href="classmxnet_1_1runtime_1_1ObjectRef.html#af10de3ce2f4984f44a4ab6341aaef3e0">mxnet::runtime::ObjectRef::get</a></div><div class="ttdeci">const Object * get() const</div><div class="ttdef"><b>Definition:</b> object.h:544</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Object_html"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Object.html">mxnet::runtime::Object</a></div><div class="ttdoc">base class of all object containers.</div><div class="ttdef"><b>Definition:</b> object.h:151</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_a3260ad74161b89db7de7447e8f5bba6a"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#a3260ad74161b89db7de7447e8f5bba6a">mxnet::runtime::Map::end</a></div><div class="ttdeci">iterator end() const</div><div class="ttdef"><b>Definition:</b> container_ext.h:302</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1StringObj_html_a5a3b879e891a9de73bb1849b28911aee"><div class="ttname"><a href="classmxnet_1_1runtime_1_1StringObj.html#a5a3b879e891a9de73bb1849b28911aee">mxnet::runtime::StringObj::size</a></div><div class="ttdeci">uint64_t size</div><div class="ttdoc">The length of the string object.</div><div class="ttdef"><b>Definition:</b> container_ext.h:399</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_a6ead366741d097b58e1335b298d6488e"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#a6ead366741d097b58e1335b298d6488e">mxnet::runtime::Map::Map</a></div><div class="ttdeci">Map(IterType begin, IterType end)</div><div class="ttdoc">constructor from iterator</div><div class="ttdef"><b>Definition:</b> container_ext.h:248</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_a863a85b2b25e333e151ba02dcddbe8d8"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#a863a85b2b25e333e151ba02dcddbe8d8">mxnet::runtime::String::compare</a></div><div class="ttdeci">int compare(const char *other) const</div><div class="ttdoc">Compares this to other.</div><div class="ttdef"><b>Definition:</b> container_ext.h:509</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_a914d011da01902a7ae047df06fda646a"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#a914d011da01902a7ae047df06fda646a">mxnet::runtime::Map::begin</a></div><div class="ttdeci">iterator begin() const</div><div class="ttdef"><b>Definition:</b> container_ext.h:300</div></div>
<div class="ttc" id="astructmxnet_1_1runtime_1_1ObjectRefHash_html_a7279d023e8c5ffbf58cbbb5620956757"><div class="ttname"><a href="structmxnet_1_1runtime_1_1ObjectRefHash.html#a7279d023e8c5ffbf58cbbb5620956757">mxnet::runtime::ObjectRefHash::operator()</a></div><div class="ttdeci">size_t operator()(const ObjectRef &amp;a) const</div><div class="ttdoc">Calculate the hash code of an ObjectRef.</div><div class="ttdef"><b>Definition:</b> container_ext.h:770</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_1_1iterator_html_aabc35591df97be42505164663f6a1954"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#aabc35591df97be42505164663f6a1954">mxnet::runtime::Map::iterator::value_type</a></div><div class="ttdeci">const std::pair&lt; K, V &gt; value_type</div><div class="ttdef"><b>Definition:</b> container_ext.h:332</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_a5c30eae913541b748dd21b48e7711b28"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#a5c30eae913541b748dd21b48e7711b28">mxnet::runtime::Map::mapped_type</a></div><div class="ttdeci">V mapped_type</div><div class="ttdef"><b>Definition:</b> container_ext.h:202</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_a3bf6bb8c8e1931968d0d1f2fa3ce639b"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#a3bf6bb8c8e1931968d0d1f2fa3ce639b">mxnet::runtime::String::compare</a></div><div class="ttdeci">int compare(const std::string &amp;other) const</div><div class="ttdoc">Compares this String object to other.</div><div class="ttdef"><b>Definition:</b> container_ext.h:497</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1ObjectPtr_html"><div class="ttname"><a href="classmxnet_1_1runtime_1_1ObjectPtr.html">mxnet::runtime::ObjectPtr</a></div><div class="ttdoc">A custom smart pointer for Object.</div><div class="ttdef"><b>Definition:</b> object.h:347</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_a48a568c0e77498c05ebef86e75413143"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#a48a568c0e77498c05ebef86e75413143">mxnet::runtime::Map::Map</a></div><div class="ttdeci">Map(std::initializer_list&lt; std::pair&lt; K, V &gt;&gt; init)</div><div class="ttdoc">constructor from initializer list</div><div class="ttdef"><b>Definition:</b> container_ext.h:255</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a3a3e33dca3e441fc79409773a56147ea"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a3a3e33dca3e441fc79409773a56147ea">mxnet::runtime::MapObj::iterator</a></div><div class="ttdeci">ContainerType::iterator iterator</div><div class="ttdoc">Iterator class.</div><div class="ttdef"><b>Definition:</b> container_ext.h:76</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MXNetArgValue_html"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MXNetArgValue.html">mxnet::runtime::MXNetArgValue</a></div><div class="ttdoc">A single argument value to PackedFunc. Containing both type_code and MXNetValue.</div><div class="ttdef"><b>Definition:</b> packed_func.h:489</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_a4f5db46043a21b12a1b633825dc41692"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#a4f5db46043a21b12a1b633825dc41692">mxnet::runtime::String::size</a></div><div class="ttdeci">size_t size() const</div><div class="ttdoc">Return the length of the string.</div><div class="ttdef"><b>Definition:</b> container_ext.h:525</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_a514b9dcd2d91a7dbb93de7d36124b6e8"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#a514b9dcd2d91a7dbb93de7d36124b6e8">mxnet::runtime::Map::erase</a></div><div class="ttdeci">void erase(const K &amp;key)</div><div class="ttdef"><b>Definition:</b> container_ext.h:306</div></div>
<div class="ttc" id="anamespacemxnet_1_1runtime_html_a38b46ae1ab051393dad25a5bc0a012dd"><div class="ttname"><a href="namespacemxnet_1_1runtime.html#a38b46ae1ab051393dad25a5bc0a012dd">mxnet::runtime::operator+</a></div><div class="ttdeci">String operator+(const String &amp;lhs, const String &amp;rhs)</div><div class="ttdef"><b>Definition:</b> container_ext.h:653</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a183de455cc237d5468d7848cafdaa351"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a183de455cc237d5468d7848cafdaa351">mxnet::runtime::MapObj::at</a></div><div class="ttdeci">mapped_type &amp; at(const key_type &amp;key)</div><div class="ttdoc">Index value associated with a key, throw exception if the key does not exist.</div><div class="ttdef"><b>Definition:</b> container_ext.h:111</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_accc4e781b042c931fdd79a7ec823fa17"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#accc4e781b042c931fdd79a7ec823fa17">mxnet::runtime::MapObj::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> container_ext.h:115</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1StringObj_html_ae7c5057455e6eb01c8d115e5d04bd089"><div class="ttname"><a href="classmxnet_1_1runtime_1_1StringObj.html#ae7c5057455e6eb01c8d115e5d04bd089">mxnet::runtime::StringObj::_type_key</a></div><div class="ttdeci">static constexpr const char * _type_key</div><div class="ttdef"><b>Definition:</b> container_ext.h:402</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_ade033e0d69b025fd5b6958ca227ea46e"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#ade033e0d69b025fd5b6958ca227ea46e">mxnet::runtime::Map::size</a></div><div class="ttdeci">size_t size() const</div><div class="ttdef"><b>Definition:</b> container_ext.h:279</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a3da2dfce873b062a704389a08cc097fb"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a3da2dfce873b062a704389a08cc097fb">mxnet::runtime::MapObj::ContainerType</a></div><div class="ttdeci">std::unordered_map&lt; ObjectRef, ObjectRef, ObjectRefHash, ObjectRefEqual &gt; ContainerType</div><div class="ttdoc">Type of the actual underlying container.</div><div class="ttdef"><b>Definition:</b> container_ext.h:74</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_a5cdde4b0769cb6e71a6907bbe78c3247"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#a5cdde4b0769cb6e71a6907bbe78c3247">mxnet::runtime::String::String</a></div><div class="ttdeci">String(const char *other)</div><div class="ttdoc">Construct a new String object.</div><div class="ttdef"><b>Definition:</b> container_ext.h:459</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html">mxnet::runtime::Map</a></div><div class="ttdoc">Map container of NodeRef-&gt;NodeRef in DSL graph. Map implements copy on write semantics,...</div><div class="ttdef"><b>Definition:</b> container_ext.h:199</div></div>
<div class="ttc" id="anamespacemxnet_1_1runtime_html_a0527e642fb418c27754a326057ff5a44"><div class="ttname"><a href="namespacemxnet_1_1runtime.html#a0527e642fb418c27754a326057ff5a44">mxnet::runtime::Merge</a></div><div class="ttdeci">Map&lt; K, V &gt; Merge(Map&lt; K, V &gt; lhs, const Map&lt; K, V &gt; &amp;rhs)</div><div class="ttdoc">Merge two Maps.</div><div class="ttdef"><b>Definition:</b> container_ext.h:385</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_1_1iterator_html_a32515f4a7e93842e876226b9fb4f711c"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a32515f4a7e93842e876226b9fb4f711c">mxnet::runtime::Map::iterator::iterator</a></div><div class="ttdeci">iterator()</div><div class="ttdef"><b>Definition:</b> container_ext.h:336</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_1_1iterator_html_aac0c2f6a5dfff09caf9156f98cd7d7e1"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#aac0c2f6a5dfff09caf9156f98cd7d7e1">mxnet::runtime::Map::iterator::operator!=</a></div><div class="ttdeci">bool operator!=(const iterator &amp;other) const</div><div class="ttdoc">Compare iterators.</div><div class="ttdef"><b>Definition:</b> container_ext.h:341</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_aed081e693a572733b50ada790f42b047"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#aed081e693a572733b50ada790f42b047">mxnet::runtime::Map::find</a></div><div class="ttdeci">iterator find(const K &amp;key) const</div><div class="ttdef"><b>Definition:</b> container_ext.h:304</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_1_1iterator_html_a93f9ba2bacf84a5b1f3b0b65116bb236"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a93f9ba2bacf84a5b1f3b0b65116bb236">mxnet::runtime::Map::iterator::operator++</a></div><div class="ttdeci">iterator operator++(int)</div><div class="ttdoc">Suffix self increment.</div><div class="ttdef"><b>Definition:</b> container_ext.h:355</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a10944f612ffa7db16cac5ec6a2ea1b7f"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a10944f612ffa7db16cac5ec6a2ea1b7f">mxnet::runtime::MapObj::const_iterator</a></div><div class="ttdeci">ContainerType::const_iterator const_iterator</div><div class="ttdoc">Iterator class.</div><div class="ttdef"><b>Definition:</b> container_ext.h:78</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1ObjectPtr_html_aae8d61e486de81ed0aa4b1f038dc9d2d"><div class="ttname"><a href="classmxnet_1_1runtime_1_1ObjectPtr.html#aae8d61e486de81ed0aa4b1f038dc9d2d">mxnet::runtime::ObjectPtr::get</a></div><div class="ttdeci">T * get() const</div><div class="ttdef"><b>Definition:</b> object.h:402</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_aa42c58889b7ba8e6813a8d6326bae4aa"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#aa42c58889b7ba8e6813a8d6326bae4aa">mxnet::runtime::Map::Map</a></div><div class="ttdeci">Map(Map&lt; K, V &gt; &amp;&amp;other)</div><div class="ttdoc">move constructor</div><div class="ttdef"><b>Definition:</b> container_ext.h:212</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1ObjectRef_html_a95de2a92783738031bf76edc2be7a6bd"><div class="ttname"><a href="classmxnet_1_1runtime_1_1ObjectRef.html#a95de2a92783738031bf76edc2be7a6bd">mxnet::runtime::ObjectRef::same_as</a></div><div class="ttdeci">bool same_as(const ObjectRef &amp;other) const</div><div class="ttdoc">Comparator.</div><div class="ttdef"><b>Definition:</b> object.h:512</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_ab2744a60d25b7a28b46c2d75d04f20d5"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#ab2744a60d25b7a28b46c2d75d04f20d5">mxnet::runtime::Map::Map</a></div><div class="ttdeci">Map()</div><div class="ttdoc">default constructor</div><div class="ttdef"><b>Definition:</b> container_ext.h:207</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a806c3a501188b0cd0d0a5ffae60fec95"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a806c3a501188b0cd0d0a5ffae60fec95">mxnet::runtime::MapObj::KVType</a></div><div class="ttdeci">ContainerType::value_type KVType</div><div class="ttdoc">Type of value stored in the hash map.</div><div class="ttdef"><b>Definition:</b> container_ext.h:80</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a6e7ed9775b8c439c0c7f837cd4564bdc"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a6e7ed9775b8c439c0c7f837cd4564bdc">mxnet::runtime::MapObj::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> container_ext.h:117</div></div>
<div class="ttc" id="anamespacemxnet_1_1runtime_html_a4cb8588702f220473ef892784241a6de"><div class="ttname"><a href="namespacemxnet_1_1runtime.html#a4cb8588702f220473ef892784241a6de">mxnet::runtime::operator!=</a></div><div class="ttdeci">bool operator!=(const String &amp;lhs, const std::string &amp;rhs)</div><div class="ttdef"><b>Definition:</b> container_ext.h:739</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_a8d9becbcc61439007742b2602bb8016c"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#a8d9becbcc61439007742b2602bb8016c">mxnet::runtime::String::data</a></div><div class="ttdeci">const char * data() const</div><div class="ttdoc">Return the data pointer.</div><div class="ttdef"><b>Definition:</b> container_ext.h:549</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_1_1iterator_html_a769881f7ca066842d3fccc214be38010"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a769881f7ca066842d3fccc214be38010">mxnet::runtime::Map::iterator::reference</a></div><div class="ttdeci">value_type reference</div><div class="ttdef"><b>Definition:</b> container_ext.h:334</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_af59b6a81c591172cc82ebbef4be469af"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#af59b6a81c591172cc82ebbef4be469af">mxnet::runtime::Map::Map</a></div><div class="ttdeci">Map(ObjectPtr&lt; Object &gt; n)</div><div class="ttdoc">constructor from pointer</div><div class="ttdef"><b>Definition:</b> container_ext.h:240</div></div>
<div class="ttc" id="astructmxnet_1_1runtime_1_1ObjectRefEqual_html"><div class="ttname"><a href="structmxnet_1_1runtime_1_1ObjectRefEqual.html">mxnet::runtime::ObjectRefEqual</a></div><div class="ttdoc">String-aware ObjectRef equal functor.</div><div class="ttdef"><b>Definition:</b> container_ext.h:56</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_afdbfd4091a4fca1ca44dad994c69eca1"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#afdbfd4091a4fca1ca44dad994c69eca1">mxnet::runtime::Map::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> container_ext.h:289</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a2b4007e7bd5230d34ae153eb99c28bd3"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a2b4007e7bd5230d34ae153eb99c28bd3">mxnet::runtime::MapObj::_type_key</a></div><div class="ttdeci">static constexpr const char * _type_key</div><div class="ttdef"><b>Definition:</b> container_ext.h:86</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a1c3727961fba6a4690c93d2ce99a2246"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a1c3727961fba6a4690c93d2ce99a2246">mxnet::runtime::MapObj::InsertMaybeReHash</a></div><div class="ttdeci">static void InsertMaybeReHash(const KVType &amp;kv, ObjectPtr&lt; Object &gt; *map)</div><div class="ttdoc">InsertMaybeReHash an entry into the given hash map.</div><div class="ttdef"><b>Definition:</b> container_ext.h:167</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a687d1326778a7dbbad3385f9353c6e2d"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a687d1326778a7dbbad3385f9353c6e2d">mxnet::runtime::MapObj::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdef"><b>Definition:</b> container_ext.h:113</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_aa17ae09974c248aa8736aeb121b4e03e"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#aa17ae09974c248aa8736aeb121b4e03e">mxnet::runtime::String::compare</a></div><div class="ttdeci">int compare(const String &amp;other) const</div><div class="ttdoc">Compares this String object to other.</div><div class="ttdef"><b>Definition:</b> container_ext.h:485</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a73c61d4be2edca81314e979f79040d2e"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a73c61d4be2edca81314e979f79040d2e">mxnet::runtime::MapObj::find</a></div><div class="ttdeci">iterator find(const key_type &amp;key)</div><div class="ttdoc">Index value associated with a key.</div><div class="ttdef"><b>Definition:</b> container_ext.h:131</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_a7e7f9f85874b20eaef439a4163c17115"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#a7e7f9f85874b20eaef439a4163c17115">mxnet::runtime::Map::operator=</a></div><div class="ttdeci">Map&lt; K, V &gt; &amp; operator=(Map&lt; K, V &gt; &amp;&amp;other)</div><div class="ttdoc">copy assign operator</div><div class="ttdef"><b>Definition:</b> container_ext.h:223</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1StringObj_1_1FromStd_html"><div class="ttname"><a href="classmxnet_1_1runtime_1_1StringObj_1_1FromStd.html">mxnet::runtime::StringObj::FromStd</a></div><div class="ttdoc">An object representing string moved from std::string.</div><div class="ttdef"><b>Definition:</b> container_ext.h:619</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1ObjectRef_html_a2501a43190c64c4a711281d425a87745"><div class="ttname"><a href="classmxnet_1_1runtime_1_1ObjectRef.html#a2501a43190c64c4a711281d425a87745">mxnet::runtime::ObjectRef::as</a></div><div class="ttdeci">const ObjectType * as() const</div><div class="ttdoc">Try to downcast the internal Object to a raw pointer of a corresponding type.</div><div class="ttdef"><b>Definition:</b> object.h:800</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_1_1iterator_html_a0004f281b38444a55ac42ddb0f677734"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a0004f281b38444a55ac42ddb0f677734">mxnet::runtime::Map::iterator::operator++</a></div><div class="ttdeci">iterator &amp; operator++()</div><div class="ttdoc">Prefix self increment, e.g. ++iter.</div><div class="ttdef"><b>Definition:</b> container_ext.h:350</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a9bbe6c2bfa634c1e0c130d48e6b5cdfe"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a9bbe6c2bfa634c1e0c130d48e6b5cdfe">mxnet::runtime::MapObj::erase</a></div><div class="ttdeci">void erase(const iterator &amp;position)</div><div class="ttdoc">Erase the entry associated with the iterator.</div><div class="ttdef"><b>Definition:</b> container_ext.h:136</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a05e8227c9fef7640992beb9a1f702cec"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a05e8227c9fef7640992beb9a1f702cec">mxnet::runtime::MapObj::MXNET_DECLARE_FINAL_OBJECT_INFO</a></div><div class="ttdeci">MXNET_DECLARE_FINAL_OBJECT_INFO(MapObj, Object)</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_a6aee9b4ae9b09d649f145a71487c1f4e"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#a6aee9b4ae9b09d649f145a71487c1f4e">mxnet::runtime::String::operator=</a></div><div class="ttdeci">String &amp; operator=(std::string other)</div><div class="ttdoc">Change the value the reference object points to.</div><div class="ttdef"><b>Definition:</b> container_ext.h:645</div></div>
<div class="ttc" id="ainclude_2mxnet_2runtime_2memory_8h_html"><div class="ttname"><a href="include_2mxnet_2runtime_2memory_8h.html">memory.h</a></div><div class="ttdoc">Runtime memory management.</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1StringObj_1_1FromStd_html_a7d96ba0c90240037ebc4265a5fc301f5"><div class="ttname"><a href="classmxnet_1_1runtime_1_1StringObj_1_1FromStd.html#a7d96ba0c90240037ebc4265a5fc301f5">mxnet::runtime::StringObj::FromStd::FromStd</a></div><div class="ttdeci">FromStd(std::string other)</div><div class="ttdoc">Construct a new FromStd object.</div><div class="ttdef"><b>Definition:</b> container_ext.h:629</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_1_1iterator_html_a209cecaf75bb7a5aafbbf274ad772dbd"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a209cecaf75bb7a5aafbbf274ad772dbd">mxnet::runtime::Map::iterator::operator*</a></div><div class="ttdeci">reference operator*() const</div><div class="ttdoc">De-reference iterators.</div><div class="ttdef"><b>Definition:</b> container_ext.h:345</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1ObjectRef_html_a5009d0661d741e4b105402b3126663e9"><div class="ttname"><a href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">mxnet::runtime::ObjectRef::data_</a></div><div class="ttdeci">ObjectPtr&lt; Object &gt; data_</div><div class="ttdoc">Internal pointer that backs the reference.</div><div class="ttdef"><b>Definition:</b> object.h:576</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_1_1iterator_html_aac8588c66abb6452596115f081a037fd"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#aac8588c66abb6452596115f081a037fd">mxnet::runtime::Map::iterator::difference_type</a></div><div class="ttdeci">int64_t difference_type</div><div class="ttdef"><b>Definition:</b> container_ext.h:331</div></div>
<div class="ttc" id="astructmxnet_1_1runtime_1_1ObjectHash_html"><div class="ttname"><a href="structmxnet_1_1runtime_1_1ObjectHash.html">mxnet::runtime::ObjectHash</a></div><div class="ttdoc">ObjectRef hash functor.</div><div class="ttdef"><b>Definition:</b> object.h:621</div></div>
<div class="ttc" id="anamespacemxnet_1_1runtime_html_afaf0a06f62ddbb7d1f5daff57fd8522f"><div class="ttname"><a href="namespacemxnet_1_1runtime.html#afaf0a06f62ddbb7d1f5daff57fd8522f">mxnet::runtime::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const String &amp;lhs, const std::string &amp;rhs)</div><div class="ttdef"><b>Definition:</b> container_ext.h:684</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_1_1iterator_html"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map_1_1iterator.html">mxnet::runtime::Map::iterator</a></div><div class="ttdoc">Iterator of the hash map.</div><div class="ttdef"><b>Definition:</b> container_ext.h:328</div></div>
<div class="ttc" id="anamespacemxnet_1_1runtime_html_a10308e9c378a8457908741fbc2ac0dc3"><div class="ttname"><a href="namespacemxnet_1_1runtime.html#a10308e9c378a8457908741fbc2ac0dc3">mxnet::runtime::operator&gt;</a></div><div class="ttdeci">bool operator&gt;(const String &amp;lhs, const std::string &amp;rhs)</div><div class="ttdef"><b>Definition:</b> container_ext.h:695</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html">mxnet::runtime::MapObj</a></div><div class="ttdoc">Shared content of all specializations of hash map.</div><div class="ttdef"><b>Definition:</b> container_ext.h:67</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_a5b10bb7f755129cced8ea1f0902338be"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#a5b10bb7f755129cced8ea1f0902338be">mxnet::runtime::String::c_str</a></div><div class="ttdeci">const char * c_str() const</div><div class="ttdoc">Returns a pointer to the char array in the string.</div><div class="ttdef"><b>Definition:</b> container_ext.h:518</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_aad31941278c7e6b2e6342d384aefa6da"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#aad31941278c7e6b2e6342d384aefa6da">mxnet::runtime::MapObj::Empty</a></div><div class="ttdeci">static ObjectPtr&lt; MapObj &gt; Empty()</div><div class="ttdoc">Create an empty container.</div><div class="ttdef"><b>Definition:</b> container_ext.h:146</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1StringObj_html"><div class="ttname"><a href="classmxnet_1_1runtime_1_1StringObj.html">mxnet::runtime::StringObj</a></div><div class="ttdoc">An object representing string. It's POD type.</div><div class="ttdef"><b>Definition:</b> container_ext.h:393</div></div>
<div class="ttc" id="anamespacemxnet_1_1runtime_html_a43738149e3dac1738390743d3de5cfaca7e465197746c27c835cadd7ee0cef82f"><div class="ttname"><a href="namespacemxnet_1_1runtime.html#a43738149e3dac1738390743d3de5cfaca7e465197746c27c835cadd7ee0cef82f">mxnet::runtime::kMXNetMap</a></div><div class="ttdeci">@ kMXNetMap</div><div class="ttdef"><b>Definition:</b> object.h:57</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_a09cb499efeed4cf00760b71d01933015"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#a09cb499efeed4cf00760b71d01933015">mxnet::runtime::String::CanConvertFrom</a></div><div class="ttdeci">static bool CanConvertFrom(const MXNetArgValue &amp;val)</div><div class="ttdoc">Check if a MXNetArgValue can be converted to String, i.e. it can be std::string or String.</div><div class="ttdef"><b>Definition:</b> packed_func.h:1274</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classmxnet_1_1runtime_1_1ObjectRef.html">mxnet::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference.</div><div class="ttdef"><b>Definition:</b> object.h:501</div></div>
<div class="ttc" id="anamespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdef"><b>Definition:</b> optional.h:251</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_a80f14824d53dd45b92b974d70efeecbe"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#a80f14824d53dd45b92b974d70efeecbe">mxnet::runtime::Map::operator=</a></div><div class="ttdeci">Map&lt; K, V &gt; &amp; operator=(const Map&lt; K, V &gt; &amp;other)</div><div class="ttdoc">move assign operator</div><div class="ttdef"><b>Definition:</b> container_ext.h:232</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_a0e5dc108203a562119509a0657320bd0"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#a0e5dc108203a562119509a0657320bd0">mxnet::runtime::String::String</a></div><div class="ttdeci">String()</div><div class="ttdoc">Construct an empty string.</div><div class="ttdef"><b>Definition:</b> container_ext.h:443</div></div>
<div class="ttc" id="anamespacemxnet_1_1runtime_html_a0681ef3f5d70fa6bf2c74903c16cdefd"><div class="ttname"><a href="namespacemxnet_1_1runtime.html#a0681ef3f5d70fa6bf2c74903c16cdefd">mxnet::runtime::operator==</a></div><div class="ttdeci">bool operator==(const String &amp;lhs, const std::string &amp;rhs)</div><div class="ttdef"><b>Definition:</b> container_ext.h:728</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a2b0f6fc9e8f25d00bcac864202aa6e02"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a2b0f6fc9e8f25d00bcac864202aa6e02">mxnet::runtime::MapObj::CreateFromRange</a></div><div class="ttdeci">static ObjectPtr&lt; Object &gt; CreateFromRange(IterType first, IterType last)</div><div class="ttdoc">Create the map using contents from the given iterators.</div><div class="ttdef"><b>Definition:</b> container_ext.h:157</div></div>
<div class="ttc" id="anamespacemxnet_1_1runtime_html_ac6ae46151b0302b2e42868d0a0e356ea"><div class="ttname"><a href="namespacemxnet_1_1runtime.html#ac6ae46151b0302b2e42868d0a0e356ea">mxnet::runtime::operator&lt;=</a></div><div class="ttdeci">bool operator&lt;=(const String &amp;lhs, const std::string &amp;rhs)</div><div class="ttdef"><b>Definition:</b> container_ext.h:706</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_a8cb8daba0bd5d66f7068cdfb33bc8181"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#a8cb8daba0bd5d66f7068cdfb33bc8181">mxnet::runtime::String::HashBytes</a></div><div class="ttdeci">static size_t HashBytes(const char *data, size_t size)</div><div class="ttdoc">Hash the binary bytes.</div><div class="ttdef"><b>Definition:</b> container_ext.h:571</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_1_1iterator_html_a722aa792533afa86b5608bfe85a23f03"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a722aa792533afa86b5608bfe85a23f03">mxnet::runtime::Map::iterator::operator-&gt;</a></div><div class="ttdeci">pointer operator-&gt;() const =delete</div><div class="ttdoc">De-reference iterators is not allowed.</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1StringObj_html_a7451f38f0faf98bcd50c7fb97dde2566"><div class="ttname"><a href="classmxnet_1_1runtime_1_1StringObj.html#a7451f38f0faf98bcd50c7fb97dde2566">mxnet::runtime::StringObj::data</a></div><div class="ttdeci">const char * data</div><div class="ttdoc">The pointer to string data.</div><div class="ttdef"><b>Definition:</b> container_ext.h:396</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_aa67bf654c00eeebb68ca702421de4963"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#aa67bf654c00eeebb68ca702421de4963">mxnet::runtime::String::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Retun if the string is empty.</div><div class="ttdef"><b>Definition:</b> container_ext.h:542</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_1_1iterator_html_a9cf291b8df1b9993ca0d1cccb4f51b4a"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a9cf291b8df1b9993ca0d1cccb4f51b4a">mxnet::runtime::Map::iterator::pointer</a></div><div class="ttdeci">value_type * pointer</div><div class="ttdef"><b>Definition:</b> container_ext.h:333</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_a96f3a21ed7a85442eb0f002bd080d40a"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#a96f3a21ed7a85442eb0f002bd080d40a">mxnet::runtime::Map::Map</a></div><div class="ttdeci">Map(const std::unordered_map&lt; K, V, Hash, Equal &gt; &amp;init)</div><div class="ttdoc">constructor from unordered_map</div><div class="ttdef"><b>Definition:</b> container_ext.h:263</div></div>
<div class="ttc" id="astructmxnet_1_1runtime_1_1ObjectRefEqual_html_a3db6837738cc5616bca97cafce41a1cf"><div class="ttname"><a href="structmxnet_1_1runtime_1_1ObjectRefEqual.html#a3db6837738cc5616bca97cafce41a1cf">mxnet::runtime::ObjectRefEqual::operator()</a></div><div class="ttdeci">bool operator()(const ObjectRef &amp;a, const ObjectRef &amp;b) const</div><div class="ttdoc">Check if the two ObjectRef are equal.</div><div class="ttdef"><b>Definition:</b> container_ext.h:777</div></div>
<div class="ttc" id="anamespacemxnet_1_1runtime_html_af68138e148571249fa1c48d993a4aa89"><div class="ttname"><a href="namespacemxnet_1_1runtime.html#af68138e148571249fa1c48d993a4aa89">mxnet::runtime::operator&lt;&lt;</a></div><div class="ttdeci">std::ostream &amp; operator&lt;&lt;(std::ostream &amp;out, const String &amp;input)</div><div class="ttdef"><b>Definition:</b> container_ext.h:749</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_adcaacacdca47f3d68140a13bb8a73743"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#adcaacacdca47f3d68140a13bb8a73743">mxnet::runtime::MapObj::size</a></div><div class="ttdeci">size_t size() const</div><div class="ttdoc">Number of elements in the MapObj.</div><div class="ttdef"><b>Definition:</b> container_ext.h:93</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1StringObj_html_a5e540bb1951b5fef7d0937dbe971edb1"><div class="ttname"><a href="classmxnet_1_1runtime_1_1StringObj.html#a5e540bb1951b5fef7d0937dbe971edb1">mxnet::runtime::StringObj::MXNET_DECLARE_FINAL_OBJECT_INFO</a></div><div class="ttdeci">MXNET_DECLARE_FINAL_OBJECT_INFO(StringObj, Object)</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a64384eb681666549bd4f82346266495c"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a64384eb681666549bd4f82346266495c">mxnet::runtime::MapObj::count</a></div><div class="ttdeci">size_t count(const key_type &amp;key) const</div><div class="ttdoc">Count the number of times a key exists in the hash map.</div><div class="ttdef"><b>Definition:</b> container_ext.h:99</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_a346acdf3143412eaab63e8f3664cd575"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#a346acdf3143412eaab63e8f3664cd575">mxnet::runtime::String::operator+</a></div><div class="ttdeci">friend String operator+(const String &amp;lhs, const String &amp;rhs)</div><div class="ttdef"><b>Definition:</b> container_ext.h:653</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a46c5b45f8b8ec5e4d0bb4297738c2d50"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a46c5b45f8b8ec5e4d0bb4297738c2d50">mxnet::runtime::MapObj::at</a></div><div class="ttdeci">const mapped_type &amp; at(const key_type &amp;key) const</div><div class="ttdoc">Index value associated with a key, throw exception if the key does not exist.</div><div class="ttdef"><b>Definition:</b> container_ext.h:105</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1StringObj_html_a3c71fb179152ea8e842d5cd0920a34eb"><div class="ttname"><a href="classmxnet_1_1runtime_1_1StringObj.html#a3c71fb179152ea8e842d5cd0920a34eb">mxnet::runtime::StringObj::_type_index</a></div><div class="ttdeci">static constexpr const uint32_t _type_index</div><div class="ttdef"><b>Definition:</b> container_ext.h:401</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html">mxnet::runtime::String</a></div><div class="ttdoc">Reference to string objects.</div><div class="ttdef"><b>Definition:</b> container_ext.h:438</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a71556a12b75bd60a7b574a6f33002ebc"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a71556a12b75bd60a7b574a6f33002ebc">mxnet::runtime::MapObj::erase</a></div><div class="ttdeci">void erase(const key_type &amp;key)</div><div class="ttdoc">Erase the entry associated with the key, do nothing if not exists.</div><div class="ttdef"><b>Definition:</b> container_ext.h:141</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_a253713fbe20d09e1a320a1b011827e84"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#a253713fbe20d09e1a320a1b011827e84">mxnet::runtime::String::MXNET_DEFINE_NOTNULLABLE_OBJECT_REF_METHODS</a></div><div class="ttdeci">MXNET_DEFINE_NOTNULLABLE_OBJECT_REF_METHODS(String, ObjectRef, StringObj)</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a5524d36fcafca9272a9094b84da94b70"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a5524d36fcafca9272a9094b84da94b70">mxnet::runtime::MapObj::find</a></div><div class="ttdeci">const_iterator find(const key_type &amp;key) const</div><div class="ttdoc">Index value associated with a key.</div><div class="ttdef"><b>Definition:</b> container_ext.h:125</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_ae08f2fe697160e12a023933935572934"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#ae08f2fe697160e12a023933935572934">mxnet::runtime::Map::CopyOnWrite</a></div><div class="ttdeci">MapObj * CopyOnWrite()</div><div class="ttdoc">copy on write semantics Do nothing if current handle is the unique copy of the array....</div><div class="ttdef"><b>Definition:</b> container_ext.h:316</div></div>
<div class="ttc" id="anamespacemxnet_1_1runtime_html_a4a57b095313af6df54b0ea24361fd9c9"><div class="ttname"><a href="namespacemxnet_1_1runtime.html#a4a57b095313af6df54b0ea24361fd9c9">mxnet::runtime::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(const String &amp;lhs, const std::string &amp;rhs)</div><div class="ttdef"><b>Definition:</b> container_ext.h:717</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_1_1iterator_html_afac0df396e8da794b8bc2fae7e8997dc"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#afac0df396e8da794b8bc2fae7e8997dc">mxnet::runtime::Map::iterator::iterator_category</a></div><div class="ttdeci">std::bidirectional_iterator_tag iterator_category</div><div class="ttdef"><b>Definition:</b> container_ext.h:330</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_1_1iterator_html_a0539b40ed6e5a547be71056da002ca03"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map_1_1iterator.html#a0539b40ed6e5a547be71056da002ca03">mxnet::runtime::Map::iterator::operator==</a></div><div class="ttdeci">bool operator==(const iterator &amp;other) const</div><div class="ttdoc">Compare iterators.</div><div class="ttdef"><b>Definition:</b> container_ext.h:339</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_ac048ed9828a674b149c296416c702ecf"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#ac048ed9828a674b149c296416c702ecf">mxnet::runtime::Map::Set</a></div><div class="ttdeci">void Set(const K &amp;key, const V &amp;value)</div><div class="ttdoc">set the Map.</div><div class="ttdef"><b>Definition:</b> container_ext.h:295</div></div>
<div class="ttc" id="aobject_8h_html"><div class="ttname"><a href="object_8h.html">object.h</a></div><div class="ttdoc">A managed object in MXNet runtime.</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_a7986994964e5faa9d3a9cc47b67d574c"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#a7986994964e5faa9d3a9cc47b67d574c">mxnet::runtime::MapObj::CopyFrom</a></div><div class="ttdeci">static ObjectPtr&lt; MapObj &gt; CopyFrom(MapObj *from)</div><div class="ttdoc">Create an empty container with elements copying from another MapObj.</div><div class="ttdef"><b>Definition:</b> container_ext.h:176</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1String_html_ae6c0d059f2813524c8c6630b7ab9c0ac"><div class="ttname"><a href="classmxnet_1_1runtime_1_1String.html#ae6c0d059f2813524c8c6630b7ab9c0ac">mxnet::runtime::String::length</a></div><div class="ttdeci">size_t length() const</div><div class="ttdoc">Return the length of the string.</div><div class="ttdef"><b>Definition:</b> container_ext.h:535</div></div>
<div class="ttc" id="anamespacemxnet_1_1runtime_html_a43738149e3dac1738390743d3de5cfaca979d4bd568d6e9233185b070f4d4a740"><div class="ttname"><a href="namespacemxnet_1_1runtime.html#a43738149e3dac1738390743d3de5cfaca979d4bd568d6e9233185b070f4d4a740">mxnet::runtime::kMXNetString</a></div><div class="ttdeci">@ kMXNetString</div><div class="ttdef"><b>Definition:</b> object.h:58</div></div>
<div class="ttc" id="astructmxnet_1_1runtime_1_1ObjectRefHash_html"><div class="ttname"><a href="structmxnet_1_1runtime_1_1ObjectRefHash.html">mxnet::runtime::ObjectRefHash</a></div><div class="ttdoc">String-aware ObjectRef hash functor.</div><div class="ttdef"><b>Definition:</b> container_ext.h:46</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_a7a6aa686961933959690f5e6936289ad"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#a7a6aa686961933959690f5e6936289ad">mxnet::runtime::Map::operator[]</a></div><div class="ttdeci">const V operator[](const K &amp;key) const</div><div class="ttdoc">Read element from map.</div><div class="ttdef"><b>Definition:</b> container_ext.h:277</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_aa5c67029f78a5cd17cb931b0d5c39a4a"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#aa5c67029f78a5cd17cb931b0d5c39a4a">mxnet::runtime::Map::key_type</a></div><div class="ttdeci">K key_type</div><div class="ttdef"><b>Definition:</b> container_ext.h:201</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1MapObj_html_ab4144de099f74f15de7c0ca8c690c7e7"><div class="ttname"><a href="classmxnet_1_1runtime_1_1MapObj.html#ab4144de099f74f15de7c0ca8c690c7e7">mxnet::runtime::MapObj::_type_index</a></div><div class="ttdeci">static constexpr const uint32_t _type_index</div><div class="ttdef"><b>Definition:</b> container_ext.h:85</div></div>
<div class="ttc" id="aclassmxnet_1_1runtime_1_1Map_html_a0df1a995dcfede7362dc5fe99af2ff3a"><div class="ttname"><a href="classmxnet_1_1runtime_1_1Map.html#a0df1a995dcfede7362dc5fe99af2ff3a">mxnet::runtime::Map::Map</a></div><div class="ttdeci">Map(const Map&lt; K, V &gt; &amp;other)</div><div class="ttdoc">copy constructor</div><div class="ttdef"><b>Definition:</b> container_ext.h:217</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Aug 1 2021 20:32:48 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>