blob: a3493896fb4800e0de45644f2a27774f5d794ae3 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mxnet: mxnet::runtime::ObjectRef Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">mxnet
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacemxnet.html">mxnet</a></li><li class="navelem"><a class="el" href="namespacemxnet_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classmxnet_1_1runtime_1_1ObjectRef-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">mxnet::runtime::ObjectRef Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Base class of all object reference.
<a href="classmxnet_1_1runtime_1_1ObjectRef.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="object_8h_source.html">object.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mxnet::runtime::ObjectRef:</div>
<div class="dyncontent">
<div class="center"><img src="classmxnet_1_1runtime_1_1ObjectRef__inherit__graph.png" border="0" usemap="#mxnet_1_1runtime_1_1ObjectRef_inherit__map" alt="Inheritance graph"/></div>
<map name="mxnet_1_1runtime_1_1ObjectRef_inherit__map" id="mxnet_1_1runtime_1_1ObjectRef_inherit__map">
<area shape="rect" id="node2" href="classmxnet_1_1Array.html" title="Array container of NodeRef in DSL graph. Array implements copy on write semantics, which means array is mutable but copy will happen when array is referenced in more than two places. " alt="" coords="5,321,224,545"/>
<area shape="rect" id="node3" href="classmxnet_1_1BaseExpr.html" title="Managed reference to BaseExprNode. " alt="" coords="248,387,381,479"/>
<area shape="rect" id="node7" href="classmxnet_1_1runtime_1_1ADT.html" title="reference to algebraic data type objects. " alt="" coords="405,336,597,531"/>
<area shape="rect" id="node8" href="classmxnet_1_1runtime_1_1Integer.html" title="{mxnet::runtime::Integer\n||+ Integer()\l+ MXNET_DEFINE_OBJECT\l_REF_METHODS()\l}" alt="" coords="621,380,813,487"/>
<area shape="rect" id="node9" href="classmxnet_1_1runtime_1_1Slice.html" title="{mxnet::runtime::Slice\n|+ kNoneValue\l|+ Slice()\l+ Slice()\l+ MXNET_DEFINE_OBJECT\l_REF_METHODS()\l}" alt="" coords="837,373,1029,494"/>
<area shape="rect" id="node4" href="classmxnet_1_1PrimExpr.html" title="Reference to PrimExprNode. " alt="" coords="249,593,380,744"/>
<area shape="rect" id="node5" href="classmxnet_1_1FloatImm.html" title="Managed reference class to FloatImmNode. " alt="" coords="173,792,307,913"/>
<area shape="rect" id="node6" href="classmxnet_1_1IntImm.html" title="Managed reference class to IntImmNode. " alt="" coords="331,792,450,913"/>
</map>
</div>
<div class="dynheader">
Collaboration diagram for mxnet::runtime::ObjectRef:</div>
<div class="dyncontent">
<div class="center"><img src="classmxnet_1_1runtime_1_1ObjectRef__coll__graph.png" border="0" usemap="#mxnet_1_1runtime_1_1ObjectRef_coll__map" alt="Collaboration graph"/></div>
<map name="mxnet_1_1runtime_1_1ObjectRef_coll__map" id="mxnet_1_1runtime_1_1ObjectRef_coll__map">
<area shape="rect" id="node2" href="classmxnet_1_1runtime_1_1ObjectPtr.html" title="{mxnet::runtime::ObjectPtr\l\&lt; mxnet::runtime::Object \&gt;\n||+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ~ObjectPtr()\l+ swap()\l+ get()\l+ operator&#45;\&gt;()\land 10 more...\l}" alt="" coords="5,5,208,244"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:afb17c6afa35f39c755d92fa2090fe0af"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#afb17c6afa35f39c755d92fa2090fe0af">ContainerType</a> = <a class="el" href="classmxnet_1_1runtime_1_1Object.html">Object</a></td></tr>
<tr class="memdesc:afb17c6afa35f39c755d92fa2090fe0af"><td class="mdescLeft">&#160;</td><td class="mdescRight">type indicate the container type. <a href="#afb17c6afa35f39c755d92fa2090fe0af">More...</a><br /></td></tr>
<tr class="separator:afb17c6afa35f39c755d92fa2090fe0af"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a1eeff522c6cb7503f2f2205bc69c0fce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a1eeff522c6cb7503f2f2205bc69c0fce">ObjectRef</a> ()=default</td></tr>
<tr class="memdesc:a1eeff522c6cb7503f2f2205bc69c0fce"><td class="mdescLeft">&#160;</td><td class="mdescRight">default constructor <a href="#a1eeff522c6cb7503f2f2205bc69c0fce">More...</a><br /></td></tr>
<tr class="separator:a1eeff522c6cb7503f2f2205bc69c0fce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a075f794b50f9d9d89d3d31930a1bc38c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a075f794b50f9d9d89d3d31930a1bc38c">ObjectRef</a> (<a class="el" href="classmxnet_1_1runtime_1_1ObjectPtr.html">ObjectPtr</a>&lt; <a class="el" href="classmxnet_1_1runtime_1_1Object.html">Object</a> &gt; data)</td></tr>
<tr class="memdesc:a075f794b50f9d9d89d3d31930a1bc38c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor from existing object ptr. <a href="#a075f794b50f9d9d89d3d31930a1bc38c">More...</a><br /></td></tr>
<tr class="separator:a075f794b50f9d9d89d3d31930a1bc38c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95de2a92783738031bf76edc2be7a6bd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a95de2a92783738031bf76edc2be7a6bd">same_as</a> (const <a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &amp;other) const</td></tr>
<tr class="memdesc:a95de2a92783738031bf76edc2be7a6bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Comparator. <a href="#a95de2a92783738031bf76edc2be7a6bd">More...</a><br /></td></tr>
<tr class="separator:a95de2a92783738031bf76edc2be7a6bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c75bdd6446ab1a6dec9ee366efd1da9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a9c75bdd6446ab1a6dec9ee366efd1da9">operator==</a> (const <a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &amp;other) const</td></tr>
<tr class="memdesc:a9c75bdd6446ab1a6dec9ee366efd1da9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Comparator. <a href="#a9c75bdd6446ab1a6dec9ee366efd1da9">More...</a><br /></td></tr>
<tr class="separator:a9c75bdd6446ab1a6dec9ee366efd1da9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ae5d37afb7f966c2707a66044229c82"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a7ae5d37afb7f966c2707a66044229c82">operator!=</a> (const <a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &amp;other) const</td></tr>
<tr class="memdesc:a7ae5d37afb7f966c2707a66044229c82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Comparator. <a href="#a7ae5d37afb7f966c2707a66044229c82">More...</a><br /></td></tr>
<tr class="separator:a7ae5d37afb7f966c2707a66044229c82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aceed1d04b67619c94bc56c43a4909ad5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#aceed1d04b67619c94bc56c43a4909ad5">operator&lt;</a> (const <a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &amp;other) const</td></tr>
<tr class="memdesc:aceed1d04b67619c94bc56c43a4909ad5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Comparator. <a href="#aceed1d04b67619c94bc56c43a4909ad5">More...</a><br /></td></tr>
<tr class="separator:aceed1d04b67619c94bc56c43a4909ad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92c53ce7ca3184bde4e9e81ae278a30c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a92c53ce7ca3184bde4e9e81ae278a30c">defined</a> () const</td></tr>
<tr class="separator:a92c53ce7ca3184bde4e9e81ae278a30c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af10de3ce2f4984f44a4ab6341aaef3e0"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classmxnet_1_1runtime_1_1Object.html">Object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#af10de3ce2f4984f44a4ab6341aaef3e0">get</a> () const</td></tr>
<tr class="separator:af10de3ce2f4984f44a4ab6341aaef3e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ebb92d820a0fe8cc96674308fbe22d5"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classmxnet_1_1runtime_1_1Object.html">Object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a0ebb92d820a0fe8cc96674308fbe22d5">operator-&gt;</a> () const</td></tr>
<tr class="separator:a0ebb92d820a0fe8cc96674308fbe22d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80e8bafaec687dacf9ca846de4a96c34"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a80e8bafaec687dacf9ca846de4a96c34">unique</a> () const</td></tr>
<tr class="separator:a80e8bafaec687dacf9ca846de4a96c34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2501a43190c64c4a711281d425a87745"><td class="memTemplParams" colspan="2">template&lt;typename ObjectType &gt; </td></tr>
<tr class="memitem:a2501a43190c64c4a711281d425a87745"><td class="memTemplItemLeft" align="right" valign="top">const ObjectType *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a2501a43190c64c4a711281d425a87745">as</a> () const</td></tr>
<tr class="memdesc:a2501a43190c64c4a711281d425a87745"><td class="mdescLeft">&#160;</td><td class="mdescRight">Try to downcast the internal <a class="el" href="classmxnet_1_1runtime_1_1Object.html" title="base class of all object containers. ">Object</a> to a raw pointer of a corresponding type. <a href="#a2501a43190c64c4a711281d425a87745">More...</a><br /></td></tr>
<tr class="separator:a2501a43190c64c4a711281d425a87745"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a31c9848521afd783f4eae179fb7717e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1runtime_1_1Object.html">Object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a31c9848521afd783f4eae179fb7717e5">get_mutable</a> () const</td></tr>
<tr class="separator:a31c9848521afd783f4eae179fb7717e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:ab5adba2e735bd310635cf9dfa1799e9c"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ab5adba2e735bd310635cf9dfa1799e9c"><td class="memTemplItemLeft" align="right" valign="top">static T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#ab5adba2e735bd310635cf9dfa1799e9c">DowncastNoCheck</a> (<a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a> ref)</td></tr>
<tr class="memdesc:ab5adba2e735bd310635cf9dfa1799e9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal helper function downcast a ref without check. <a href="#ab5adba2e735bd310635cf9dfa1799e9c">More...</a><br /></td></tr>
<tr class="separator:ab5adba2e735bd310635cf9dfa1799e9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44873861fe3a0ee963314402eb3e1f47"><td class="memTemplParams" colspan="2">template&lt;typename ObjectType &gt; </td></tr>
<tr class="memitem:a44873861fe3a0ee963314402eb3e1f47"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classmxnet_1_1runtime_1_1ObjectPtr.html">ObjectPtr</a>&lt; ObjectType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a44873861fe3a0ee963314402eb3e1f47">GetDataPtr</a> (const <a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &amp;ref)</td></tr>
<tr class="memdesc:a44873861fe3a0ee963314402eb3e1f47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal helper function get data_ as <a class="el" href="classmxnet_1_1runtime_1_1ObjectPtr.html" title="A custom smart pointer for Object. ">ObjectPtr</a> of ObjectType. <a href="#a44873861fe3a0ee963314402eb3e1f47">More...</a><br /></td></tr>
<tr class="separator:a44873861fe3a0ee963314402eb3e1f47"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a5009d0661d741e4b105402b3126663e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1runtime_1_1ObjectPtr.html">ObjectPtr</a>&lt; <a class="el" href="classmxnet_1_1runtime_1_1Object.html">Object</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a5009d0661d741e4b105402b3126663e9">data_</a></td></tr>
<tr class="memdesc:a5009d0661d741e4b105402b3126663e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal pointer that backs the reference. <a href="#a5009d0661d741e4b105402b3126663e9">More...</a><br /></td></tr>
<tr class="separator:a5009d0661d741e4b105402b3126663e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a7191cb82e9344bec1b5fd20f45b289f1"><td class="memItemLeft" align="right" valign="top">struct&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a7191cb82e9344bec1b5fd20f45b289f1">ObjectHash</a></td></tr>
<tr class="separator:a7191cb82e9344bec1b5fd20f45b289f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82aa089816e7ff294eecf5c1bc1165cf"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a82aa089816e7ff294eecf5c1bc1165cf">MXNetRetValue</a></td></tr>
<tr class="separator:a82aa089816e7ff294eecf5c1bc1165cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0589aedf749aa4d55e73539f5b135a24"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a0589aedf749aa4d55e73539f5b135a24">MXNetArgsSetter</a></td></tr>
<tr class="separator:a0589aedf749aa4d55e73539f5b135a24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68c32a41efd1aa99afca70837565cced"><td class="memTemplParams" colspan="2">template&lt;typename SubRef , typename BaseRef &gt; </td></tr>
<tr class="memitem:a68c32a41efd1aa99afca70837565cced"><td class="memTemplItemLeft" align="right" valign="top">SubRef&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#a68c32a41efd1aa99afca70837565cced">Downcast</a> (BaseRef ref)</td></tr>
<tr class="memdesc:a68c32a41efd1aa99afca70837565cced"><td class="mdescLeft">&#160;</td><td class="mdescRight">Downcast a base reference type to a more specific type. <a href="#a68c32a41efd1aa99afca70837565cced">More...</a><br /></td></tr>
<tr class="separator:a68c32a41efd1aa99afca70837565cced"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base class of all object reference. </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="afb17c6afa35f39c755d92fa2090fe0af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb17c6afa35f39c755d92fa2090fe0af">&#9670;&nbsp;</a></span>ContainerType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html#afb17c6afa35f39c755d92fa2090fe0af">mxnet::runtime::ObjectRef::ContainerType</a> = <a class="el" href="classmxnet_1_1runtime_1_1Object.html">Object</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>type indicate the container type. </p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a1eeff522c6cb7503f2f2205bc69c0fce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1eeff522c6cb7503f2f2205bc69c0fce">&#9670;&nbsp;</a></span>ObjectRef() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">mxnet::runtime::ObjectRef::ObjectRef </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>default constructor </p>
</div>
</div>
<a id="a075f794b50f9d9d89d3d31930a1bc38c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a075f794b50f9d9d89d3d31930a1bc38c">&#9670;&nbsp;</a></span>ObjectRef() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">mxnet::runtime::ObjectRef::ObjectRef </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmxnet_1_1runtime_1_1ObjectPtr.html">ObjectPtr</a>&lt; <a class="el" href="classmxnet_1_1runtime_1_1Object.html">Object</a> &gt;&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor from existing object ptr. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a2501a43190c64c4a711281d425a87745"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2501a43190c64c4a711281d425a87745">&#9670;&nbsp;</a></span>as()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ObjectType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const ObjectType * mxnet::runtime::ObjectRef::as </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Try to downcast the internal <a class="el" href="classmxnet_1_1runtime_1_1Object.html" title="base class of all object containers. ">Object</a> to a raw pointer of a corresponding type. </p>
<p>The function will return a nullptr if the cast failed.</p>
<p>if (const Add *add = node_ref.As&lt;Add&gt;()) { // This is an add node } </p><dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">ObjectType</td><td>the target type, must be a subtype of Object/ </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a92c53ce7ca3184bde4e9e81ae278a30c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92c53ce7ca3184bde4e9e81ae278a30c">&#9670;&nbsp;</a></span>defined()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool mxnet::runtime::ObjectRef::defined </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>whether the expression is null </dd></dl>
</div>
</div>
<a id="ab5adba2e735bd310635cf9dfa1799e9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5adba2e735bd310635cf9dfa1799e9c">&#9670;&nbsp;</a></span>DowncastNoCheck()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static T mxnet::runtime::ObjectRef::DowncastNoCheck </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a>&#160;</td>
<td class="paramname"><em>ref</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal helper function downcast a ref without check. </p>
<dl class="section note"><dt>Note</dt><dd>Only used for internal dev purposes. </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>The target reference type. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The casted result. </dd></dl>
</div>
</div>
<a id="af10de3ce2f4984f44a4ab6341aaef3e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af10de3ce2f4984f44a4ab6341aaef3e0">&#9670;&nbsp;</a></span>get()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classmxnet_1_1runtime_1_1Object.html">Object</a>* mxnet::runtime::ObjectRef::get </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the internal object pointer </dd></dl>
</div>
</div>
<a id="a31c9848521afd783f4eae179fb7717e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31c9848521afd783f4eae179fb7717e5">&#9670;&nbsp;</a></span>get_mutable()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1runtime_1_1Object.html">Object</a>* mxnet::runtime::ObjectRef::get_mutable </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>return a mutable internal ptr, can be used by sub-classes. </dd></dl>
</div>
</div>
<a id="a44873861fe3a0ee963314402eb3e1f47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44873861fe3a0ee963314402eb3e1f47">&#9670;&nbsp;</a></span>GetDataPtr()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ObjectType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classmxnet_1_1runtime_1_1ObjectPtr.html">ObjectPtr</a>&lt;ObjectType&gt; mxnet::runtime::ObjectRef::GetDataPtr </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &amp;&#160;</td>
<td class="paramname"><em>ref</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal helper function get data_ as <a class="el" href="classmxnet_1_1runtime_1_1ObjectPtr.html" title="A custom smart pointer for Object. ">ObjectPtr</a> of ObjectType. </p>
<dl class="section note"><dt>Note</dt><dd>only used for internal dev purpose. </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">ObjectType</td><td>The corresponding object type. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the corresponding type. </dd></dl>
</div>
</div>
<a id="a7ae5d37afb7f966c2707a66044229c82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ae5d37afb7f966c2707a66044229c82">&#9670;&nbsp;</a></span>operator!=()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool mxnet::runtime::ObjectRef::operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Comparator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Another object ref. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the compare result. </dd></dl>
</div>
</div>
<a id="a0ebb92d820a0fe8cc96674308fbe22d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ebb92d820a0fe8cc96674308fbe22d5">&#9670;&nbsp;</a></span>operator->()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classmxnet_1_1runtime_1_1Object.html">Object</a>* mxnet::runtime::ObjectRef::operator-&gt; </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the internal object pointer </dd></dl>
</div>
</div>
<a id="aceed1d04b67619c94bc56c43a4909ad5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aceed1d04b67619c94bc56c43a4909ad5">&#9670;&nbsp;</a></span>operator<()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool mxnet::runtime::ObjectRef::operator&lt; </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Comparator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Another object ref by address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the compare result. </dd></dl>
</div>
</div>
<a id="a9c75bdd6446ab1a6dec9ee366efd1da9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c75bdd6446ab1a6dec9ee366efd1da9">&#9670;&nbsp;</a></span>operator==()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool mxnet::runtime::ObjectRef::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Comparator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Another object ref. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the compare result. </dd></dl>
</div>
</div>
<a id="a95de2a92783738031bf76edc2be7a6bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95de2a92783738031bf76edc2be7a6bd">&#9670;&nbsp;</a></span>same_as()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool mxnet::runtime::ObjectRef::same_as </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Comparator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Another object ref. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the compare result. </dd></dl>
</div>
</div>
<a id="a80e8bafaec687dacf9ca846de4a96c34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80e8bafaec687dacf9ca846de4a96c34">&#9670;&nbsp;</a></span>unique()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool mxnet::runtime::ObjectRef::unique </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>whether the reference is unique </dd></dl>
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="a68c32a41efd1aa99afca70837565cced"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68c32a41efd1aa99afca70837565cced">&#9670;&nbsp;</a></span>Downcast</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename SubRef , typename BaseRef &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SubRef Downcast </td>
<td>(</td>
<td class="paramtype">BaseRef&#160;</td>
<td class="paramname"><em>ref</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Downcast a base reference type to a more specific type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ref</td><td>The inptut reference </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The corresponding SubRef. </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">SubRef</td><td>The target specific reference type. </td></tr>
<tr><td class="paramname">BaseRef</td><td>the current reference type. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0589aedf749aa4d55e73539f5b135a24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0589aedf749aa4d55e73539f5b135a24">&#9670;&nbsp;</a></span>MXNetArgsSetter</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classmxnet_1_1runtime_1_1MXNetArgsSetter.html">MXNetArgsSetter</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a82aa089816e7ff294eecf5c1bc1165cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82aa089816e7ff294eecf5c1bc1165cf">&#9670;&nbsp;</a></span>MXNetRetValue</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classmxnet_1_1runtime_1_1MXNetRetValue.html">MXNetRetValue</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7191cb82e9344bec1b5fd20f45b289f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7191cb82e9344bec1b5fd20f45b289f1">&#9670;&nbsp;</a></span>ObjectHash</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend struct <a class="el" href="structmxnet_1_1runtime_1_1ObjectHash.html">ObjectHash</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a5009d0661d741e4b105402b3126663e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5009d0661d741e4b105402b3126663e9">&#9670;&nbsp;</a></span>data_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1runtime_1_1ObjectPtr.html">ObjectPtr</a>&lt;<a class="el" href="classmxnet_1_1runtime_1_1Object.html">Object</a>&gt; mxnet::runtime::ObjectRef::data_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal pointer that backs the reference. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/work/mxnet/include/mxnet/runtime/<a class="el" href="object_8h_source.html">object.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 5 2023 00:58:44 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>