<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>mxnet: dmlc::FunctionRegEntryBase&lt; EntryType, FunctionType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">mxnet
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacedmlc.html">dmlc</a></li><li class="navelem"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">FunctionRegEntryBase</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classdmlc_1_1FunctionRegEntryBase-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">dmlc::FunctionRegEntryBase&lt; EntryType, FunctionType &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Common base class for function registry.  
 <a href="classdmlc_1_1FunctionRegEntryBase.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="3rdparty_2dmlc-core_2include_2dmlc_2registry_8h_source.html">registry.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for dmlc::FunctionRegEntryBase&lt; EntryType, FunctionType &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classdmlc_1_1FunctionRegEntryBase__coll__graph.png" border="0" usemap="#dmlc_1_1FunctionRegEntryBase_3_01EntryType_00_01FunctionType_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="dmlc_1_1FunctionRegEntryBase_3_01EntryType_00_01FunctionType_01_4_coll__map" id="dmlc_1_1FunctionRegEntryBase_3_01EntryType_00_01FunctionType_01_4_coll__map">
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aae5d8d68715179c22059867aae4d67fc"><td class="memItemLeft" align="right" valign="top">EntryType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#aae5d8d68715179c22059867aae4d67fc">set_body</a> (FunctionType <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#ac593e3ad3722e750b01b110ae01dd5ee">body</a>)</td></tr>
<tr class="memdesc:aae5d8d68715179c22059867aae4d67fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the function body.  <a href="#aae5d8d68715179c22059867aae4d67fc">More...</a><br /></td></tr>
<tr class="separator:aae5d8d68715179c22059867aae4d67fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa523755edc43af8a7ae4dad12e187200"><td class="memItemLeft" align="right" valign="top">EntryType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#aa523755edc43af8a7ae4dad12e187200">describe</a> (const std::string &amp;<a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a9de2f3ee312f470556e73ab56288ae25">description</a>)</td></tr>
<tr class="memdesc:aa523755edc43af8a7ae4dad12e187200"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describe the function.  <a href="#aa523755edc43af8a7ae4dad12e187200">More...</a><br /></td></tr>
<tr class="separator:aa523755edc43af8a7ae4dad12e187200"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec3cb7574c8c2401e7dac0cccb352f31"><td class="memItemLeft" align="right" valign="top">EntryType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#aec3cb7574c8c2401e7dac0cccb352f31">add_argument</a> (const std::string &amp;<a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#af2acc06f141492afe85d4fff777d7f31">name</a>, const std::string &amp;type, const std::string &amp;<a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a9de2f3ee312f470556e73ab56288ae25">description</a>)</td></tr>
<tr class="memdesc:aec3cb7574c8c2401e7dac0cccb352f31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add argument information to the function.  <a href="#aec3cb7574c8c2401e7dac0cccb352f31">More...</a><br /></td></tr>
<tr class="separator:aec3cb7574c8c2401e7dac0cccb352f31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a349dbdc935529bc4ffa7385b5c45614f"><td class="memItemLeft" align="right" valign="top">EntryType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a349dbdc935529bc4ffa7385b5c45614f">add_arguments</a> (const std::vector&lt; ParamFieldInfo &gt; &amp;args)</td></tr>
<tr class="memdesc:a349dbdc935529bc4ffa7385b5c45614f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append list if arguments to the end.  <a href="#a349dbdc935529bc4ffa7385b5c45614f">More...</a><br /></td></tr>
<tr class="separator:a349dbdc935529bc4ffa7385b5c45614f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ee038abad273d717df33a4dbc88ef14"><td class="memItemLeft" align="right" valign="top">EntryType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a2ee038abad273d717df33a4dbc88ef14">set_return_type</a> (const std::string &amp;type)</td></tr>
<tr class="memdesc:a2ee038abad273d717df33a4dbc88ef14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the return type.  <a href="#a2ee038abad273d717df33a4dbc88ef14">More...</a><br /></td></tr>
<tr class="separator:a2ee038abad273d717df33a4dbc88ef14"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:af2acc06f141492afe85d4fff777d7f31"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#af2acc06f141492afe85d4fff777d7f31">name</a></td></tr>
<tr class="memdesc:af2acc06f141492afe85d4fff777d7f31"><td class="mdescLeft">&#160;</td><td class="mdescRight">name of the entry  <a href="#af2acc06f141492afe85d4fff777d7f31">More...</a><br /></td></tr>
<tr class="separator:af2acc06f141492afe85d4fff777d7f31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9de2f3ee312f470556e73ab56288ae25"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a9de2f3ee312f470556e73ab56288ae25">description</a></td></tr>
<tr class="memdesc:a9de2f3ee312f470556e73ab56288ae25"><td class="mdescLeft">&#160;</td><td class="mdescRight">description of the entry  <a href="#a9de2f3ee312f470556e73ab56288ae25">More...</a><br /></td></tr>
<tr class="separator:a9de2f3ee312f470556e73ab56288ae25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6565edeffefa127ea939f9ff9774d09d"><td class="memItemLeft" align="right" valign="top">std::vector&lt; ParamFieldInfo &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a6565edeffefa127ea939f9ff9774d09d">arguments</a></td></tr>
<tr class="memdesc:a6565edeffefa127ea939f9ff9774d09d"><td class="mdescLeft">&#160;</td><td class="mdescRight">additional arguments to the factory function  <a href="#a6565edeffefa127ea939f9ff9774d09d">More...</a><br /></td></tr>
<tr class="separator:a6565edeffefa127ea939f9ff9774d09d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac593e3ad3722e750b01b110ae01dd5ee"><td class="memItemLeft" align="right" valign="top">FunctionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#ac593e3ad3722e750b01b110ae01dd5ee">body</a></td></tr>
<tr class="memdesc:ac593e3ad3722e750b01b110ae01dd5ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function body to create ProductType.  <a href="#ac593e3ad3722e750b01b110ae01dd5ee">More...</a><br /></td></tr>
<tr class="separator:ac593e3ad3722e750b01b110ae01dd5ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8187718b95987b655716c2de9bbe7b06"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a8187718b95987b655716c2de9bbe7b06">return_type</a></td></tr>
<tr class="memdesc:a8187718b95987b655716c2de9bbe7b06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return type of the function.  <a href="#a8187718b95987b655716c2de9bbe7b06">More...</a><br /></td></tr>
<tr class="separator:a8187718b95987b655716c2de9bbe7b06"><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:a6c04cf9a322f60d106af1f0b4826f586"><td class="memItemLeft" align="right" valign="top">EntryType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a6c04cf9a322f60d106af1f0b4826f586">self</a> ()</td></tr>
<tr class="separator:a6c04cf9a322f60d106af1f0b4826f586"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename EntryType, typename FunctionType&gt;<br />
class dmlc::FunctionRegEntryBase&lt; EntryType, FunctionType &gt;</h3>

<p>Common base class for function registry. </p>
<div class="fragment"><div class="line"><span class="comment">// This example demonstrates how to use Registry to create a factory of trees.</span></div><div class="line"><span class="keyword">struct </span>TreeFactory :</div><div class="line">    <span class="keyword">public</span> FunctionRegEntryBase&lt;TreeFactory, std::function&lt;Tree*()&gt; &gt; {</div><div class="line">};</div><div class="line"></div><div class="line"><span class="comment">// in a independent cc file</span></div><div class="line"><span class="keyword">namespace </span><a class="code" href="namespacedmlc.html">dmlc</a> {</div><div class="line"><a class="code" href="3rdparty_2dmlc-core_2include_2dmlc_2registry_8h.html#a30edfc9f7bcb9862348b512dd73354ff">DMLC_REGISTRY_ENABLE</a>(TreeFactory);</div><div class="line">}</div><div class="line"><span class="comment">// register binary tree constructor into the registry.</span></div><div class="line"><a class="code" href="3rdparty_2dmlc-core_2include_2dmlc_2registry_8h.html#af6870c3bce5b56d427a4d225b1194816">DMLC_REGISTRY_REGISTER</a>(TreeFactory, TreeFactory, BinaryTree)</div><div class="line">    .describe(<span class="stringliteral">&quot;Constructor of BinaryTree&quot;</span>)</div><div class="line">    .set_body([]() { <span class="keywordflow">return</span> <span class="keyword">new</span> BinaryTree(); });</div></div><!-- fragment --><dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">EntryType</td><td>The type of subclass that inheritate the base. </td></tr>
    <tr><td class="paramname">FunctionType</td><td>The function type this registry is registerd. </td></tr>
  </table>
  </dd>
</dl>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aec3cb7574c8c2401e7dac0cccb352f31"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntryType, typename FunctionType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">EntryType&amp; <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">dmlc::FunctionRegEntryBase</a>&lt; EntryType, FunctionType &gt;::add_argument </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>description</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add argument information to the function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Name of the argument. </td></tr>
    <tr><td class="paramname">type</td><td>Type of the argument. </td></tr>
    <tr><td class="paramname">description</td><td>Description of the argument. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to self. </dd></dl>

</div>
</div>
<a class="anchor" id="a349dbdc935529bc4ffa7385b5c45614f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntryType, typename FunctionType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">EntryType&amp; <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">dmlc::FunctionRegEntryBase</a>&lt; EntryType, FunctionType &gt;::add_arguments </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; ParamFieldInfo &gt; &amp;&#160;</td>
          <td class="paramname"><em>args</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Append list if arguments to the end. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">args</td><td>Additional list of arguments. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to self. </dd></dl>

</div>
</div>
<a class="anchor" id="aa523755edc43af8a7ae4dad12e187200"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntryType, typename FunctionType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">EntryType&amp; <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">dmlc::FunctionRegEntryBase</a>&lt; EntryType, FunctionType &gt;::describe </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>description</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Describe the function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">description</td><td>The description of the factory function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to self. </dd></dl>

</div>
</div>
<a class="anchor" id="a6c04cf9a322f60d106af1f0b4826f586"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntryType, typename FunctionType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">EntryType&amp; <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">dmlc::FunctionRegEntryBase</a>&lt; EntryType, FunctionType &gt;::self </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>reference of self as derived type </dd></dl>

</div>
</div>
<a class="anchor" id="aae5d8d68715179c22059867aae4d67fc"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntryType, typename FunctionType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">EntryType&amp; <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">dmlc::FunctionRegEntryBase</a>&lt; EntryType, FunctionType &gt;::set_body </td>
          <td>(</td>
          <td class="paramtype">FunctionType&#160;</td>
          <td class="paramname"><em>body</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the function body. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">body</td><td>Function body to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to self. </dd></dl>

</div>
</div>
<a class="anchor" id="a2ee038abad273d717df33a4dbc88ef14"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntryType, typename FunctionType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">EntryType&amp; <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">dmlc::FunctionRegEntryBase</a>&lt; EntryType, FunctionType &gt;::set_return_type </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>type</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the return type. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>Return type of the function, could be Symbol or Symbol[] </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to self. </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a6565edeffefa127ea939f9ff9774d09d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntryType, typename FunctionType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;ParamFieldInfo&gt; <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">dmlc::FunctionRegEntryBase</a>&lt; EntryType, FunctionType &gt;::arguments</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>additional arguments to the factory function </p>

</div>
</div>
<a class="anchor" id="ac593e3ad3722e750b01b110ae01dd5ee"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntryType, typename FunctionType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">FunctionType <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">dmlc::FunctionRegEntryBase</a>&lt; EntryType, FunctionType &gt;::body</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function body to create ProductType. </p>

</div>
</div>
<a class="anchor" id="a9de2f3ee312f470556e73ab56288ae25"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntryType, typename FunctionType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">dmlc::FunctionRegEntryBase</a>&lt; EntryType, FunctionType &gt;::description</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>description of the entry </p>

</div>
</div>
<a class="anchor" id="af2acc06f141492afe85d4fff777d7f31"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntryType, typename FunctionType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">dmlc::FunctionRegEntryBase</a>&lt; EntryType, FunctionType &gt;::name</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>name of the entry </p>

</div>
</div>
<a class="anchor" id="a8187718b95987b655716c2de9bbe7b06"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntryType, typename FunctionType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">dmlc::FunctionRegEntryBase</a>&lt; EntryType, FunctionType &gt;::return_type</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return type of the function. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/work/mxnet/3rdparty/dmlc-core/include/dmlc/<a class="el" href="3rdparty_2dmlc-core_2include_2dmlc_2registry_8h_source.html">registry.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Sep 11 2020 03:38:05 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
