Files
mlpack/doc/html/classmlpack_1_1tree_1_1BinarySpaceTree.html
T

2798 lines
192 KiB
HTML

<!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>mlpack: mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &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" />
<link href="extra-stylesheet.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">mlpack
&#160;<span id="projectnumber">master</span>
</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="pages.html"><span>Related&#160;Pages</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="namespacemlpack.html">mlpack</a></li><li class="navelem"><a class="el" href="namespacemlpack_1_1tree.html">tree</a></li><li class="navelem"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classmlpack_1_1tree_1_1BinarySpaceTree-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A binary space partitioning tree, such as a KD-tree or a ball tree.
<a href="classmlpack_1_1tree_1_1BinarySpaceTree.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree_1_1BreadthFirstDualTreeTraverser.html">BreadthFirstDualTreeTraverser</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree_1_1DualTreeTraverser.html">DualTreeTraverser</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A dual-tree traverser for binary space trees; see dual_tree_traverser.hpp. <a href="classmlpack_1_1tree_1_1BinarySpaceTree_1_1DualTreeTraverser.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree_1_1SingleTreeTraverser.html">SingleTreeTraverser</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A single-tree traverser for binary space trees; see single_tree_traverser.hpp for implementation. <a href="classmlpack_1_1tree_1_1BinarySpaceTree_1_1SingleTreeTraverser.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a45c13c579558efc3210ea11dedc6f4ed"><td class="memItemLeft" align="right" valign="top">typedef MatType::elem_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a></td></tr>
<tr class="memdesc:a45c13c579558efc3210ea11dedc6f4ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of element held in MatType. <a href="#a45c13c579558efc3210ea11dedc6f4ed">More...</a><br /></td></tr>
<tr class="separator:a45c13c579558efc3210ea11dedc6f4ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc0949ae4b589b4e90884419e3b08c38"><td class="memItemLeft" align="right" valign="top">typedef MatType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#acc0949ae4b589b4e90884419e3b08c38">Mat</a></td></tr>
<tr class="memdesc:acc0949ae4b589b4e90884419e3b08c38"><td class="mdescLeft">&#160;</td><td class="mdescRight">So other classes can use TreeType::Mat. <a href="#acc0949ae4b589b4e90884419e3b08c38">More...</a><br /></td></tr>
<tr class="separator:acc0949ae4b589b4e90884419e3b08c38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf5bc9bf70878521afddfc0a64d9f1a8"><td class="memItemLeft" align="right" valign="top">typedef SplitType&lt; BoundType&lt; MetricType &gt;, MatType &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#adf5bc9bf70878521afddfc0a64d9f1a8">Split</a></td></tr>
<tr class="separator:adf5bc9bf70878521afddfc0a64d9f1a8"><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:ab5a1d86417a1c0af92ba3a4f80ce96f7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#ab5a1d86417a1c0af92ba3a4f80ce96f7">BinarySpaceTree</a> (const MatType &amp;data, const size_t maxLeafSize=20)</td></tr>
<tr class="memdesc:ab5a1d86417a1c0af92ba3a4f80ce96f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct this as the root node of a binary space tree using the given dataset. <a href="#ab5a1d86417a1c0af92ba3a4f80ce96f7">More...</a><br /></td></tr>
<tr class="separator:ab5a1d86417a1c0af92ba3a4f80ce96f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf777bf78844a1cfa0cd417fd79fe62e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#aaf777bf78844a1cfa0cd417fd79fe62e">BinarySpaceTree</a> (const MatType &amp;data, std::vector&lt; size_t &gt; &amp;oldFromNew, const size_t maxLeafSize=20)</td></tr>
<tr class="memdesc:aaf777bf78844a1cfa0cd417fd79fe62e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct this as the root node of a binary space tree using the given dataset. <a href="#aaf777bf78844a1cfa0cd417fd79fe62e">More...</a><br /></td></tr>
<tr class="separator:aaf777bf78844a1cfa0cd417fd79fe62e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dee1f2c906e62c56bac004ffc45d26d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a8dee1f2c906e62c56bac004ffc45d26d">BinarySpaceTree</a> (const MatType &amp;data, std::vector&lt; size_t &gt; &amp;oldFromNew, std::vector&lt; size_t &gt; &amp;newFromOld, const size_t maxLeafSize=20)</td></tr>
<tr class="memdesc:a8dee1f2c906e62c56bac004ffc45d26d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct this as the root node of a binary space tree using the given dataset. <a href="#a8dee1f2c906e62c56bac004ffc45d26d">More...</a><br /></td></tr>
<tr class="separator:a8dee1f2c906e62c56bac004ffc45d26d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0733134f50183f605e3df0eb784ceec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#ad0733134f50183f605e3df0eb784ceec">BinarySpaceTree</a> (MatType &amp;&amp;data, const size_t maxLeafSize=20)</td></tr>
<tr class="memdesc:ad0733134f50183f605e3df0eb784ceec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct this as the root node of a binary space tree using the given dataset. <a href="#ad0733134f50183f605e3df0eb784ceec">More...</a><br /></td></tr>
<tr class="separator:ad0733134f50183f605e3df0eb784ceec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae620f2d1d16beafff047963954529f57"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#ae620f2d1d16beafff047963954529f57">BinarySpaceTree</a> (MatType &amp;&amp;data, std::vector&lt; size_t &gt; &amp;oldFromNew, const size_t maxLeafSize=20)</td></tr>
<tr class="memdesc:ae620f2d1d16beafff047963954529f57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct this as the root node of a binary space tree using the given dataset. <a href="#ae620f2d1d16beafff047963954529f57">More...</a><br /></td></tr>
<tr class="separator:ae620f2d1d16beafff047963954529f57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f2bbb50a854fdf9fae766f6deaeceb1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a1f2bbb50a854fdf9fae766f6deaeceb1">BinarySpaceTree</a> (MatType &amp;&amp;data, std::vector&lt; size_t &gt; &amp;oldFromNew, std::vector&lt; size_t &gt; &amp;newFromOld, const size_t maxLeafSize=20)</td></tr>
<tr class="memdesc:a1f2bbb50a854fdf9fae766f6deaeceb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct this as the root node of a binary space tree using the given dataset. <a href="#a1f2bbb50a854fdf9fae766f6deaeceb1">More...</a><br /></td></tr>
<tr class="separator:a1f2bbb50a854fdf9fae766f6deaeceb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1edd4b2fe88a2b5a97e446593920fd14"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a1edd4b2fe88a2b5a97e446593920fd14">BinarySpaceTree</a> (<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> *<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5d32df7d289d19f3ac067490633e3073">parent</a>, const size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#af040cc83b8f5086e5dae3ad269435238">begin</a>, const size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a858649909a8a1dc833a60034e85f5a55">count</a>, SplitType&lt; BoundType&lt; MetricType &gt;, MatType &gt; &amp;splitter, const size_t maxLeafSize=20)</td></tr>
<tr class="memdesc:a1edd4b2fe88a2b5a97e446593920fd14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct this node as a child of the given parent, starting at column begin and using count points. <a href="#a1edd4b2fe88a2b5a97e446593920fd14">More...</a><br /></td></tr>
<tr class="separator:a1edd4b2fe88a2b5a97e446593920fd14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a400251078a497e334946b93067ba4174"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a400251078a497e334946b93067ba4174">BinarySpaceTree</a> (<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> *<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5d32df7d289d19f3ac067490633e3073">parent</a>, const size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#af040cc83b8f5086e5dae3ad269435238">begin</a>, const size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a858649909a8a1dc833a60034e85f5a55">count</a>, std::vector&lt; size_t &gt; &amp;oldFromNew, SplitType&lt; BoundType&lt; MetricType &gt;, MatType &gt; &amp;splitter, const size_t maxLeafSize=20)</td></tr>
<tr class="memdesc:a400251078a497e334946b93067ba4174"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct this node as a child of the given parent, starting at column begin and using count points. <a href="#a400251078a497e334946b93067ba4174">More...</a><br /></td></tr>
<tr class="separator:a400251078a497e334946b93067ba4174"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac95c0a50a1671ce97a5a7f34fad1eb2d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#ac95c0a50a1671ce97a5a7f34fad1eb2d">BinarySpaceTree</a> (<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> *<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5d32df7d289d19f3ac067490633e3073">parent</a>, const size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#af040cc83b8f5086e5dae3ad269435238">begin</a>, const size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a858649909a8a1dc833a60034e85f5a55">count</a>, std::vector&lt; size_t &gt; &amp;oldFromNew, std::vector&lt; size_t &gt; &amp;newFromOld, SplitType&lt; BoundType&lt; MetricType &gt;, MatType &gt; &amp;splitter, const size_t maxLeafSize=20)</td></tr>
<tr class="memdesc:ac95c0a50a1671ce97a5a7f34fad1eb2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct this node as a child of the given parent, starting at column begin and using count points. <a href="#ac95c0a50a1671ce97a5a7f34fad1eb2d">More...</a><br /></td></tr>
<tr class="separator:ac95c0a50a1671ce97a5a7f34fad1eb2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a409ca533ddcd1444cc0d28cdeaa4ad0f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a409ca533ddcd1444cc0d28cdeaa4ad0f">BinarySpaceTree</a> (const <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> &amp;other)</td></tr>
<tr class="memdesc:a409ca533ddcd1444cc0d28cdeaa4ad0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a binary space tree by copying the other tree. <a href="#a409ca533ddcd1444cc0d28cdeaa4ad0f">More...</a><br /></td></tr>
<tr class="separator:a409ca533ddcd1444cc0d28cdeaa4ad0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4854d2b181a38c7c066ef723c6ae6dd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#ab4854d2b181a38c7c066ef723c6ae6dd">BinarySpaceTree</a> (<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> &amp;&amp;other)</td></tr>
<tr class="memdesc:ab4854d2b181a38c7c066ef723c6ae6dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor for a <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html" title="A binary space partitioning tree, such as a KD-tree or a ball tree. ">BinarySpaceTree</a>; possess all the members of the given tree. <a href="#ab4854d2b181a38c7c066ef723c6ae6dd">More...</a><br /></td></tr>
<tr class="separator:ab4854d2b181a38c7c066ef723c6ae6dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b222cfd0020544e975be69ea911ee31"><td class="memTemplParams" colspan="2">template&lt;typename Archive &gt; </td></tr>
<tr class="memitem:a9b222cfd0020544e975be69ea911ee31"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a9b222cfd0020544e975be69ea911ee31">BinarySpaceTree</a> (Archive &amp;ar, const typename <a class="el" href="namespacestd.html#ac774dbdf8ae769197167b2a8273462fc">std::enable_if_t</a>&lt; Archive::is_loading::value &gt; *=0)</td></tr>
<tr class="memdesc:a9b222cfd0020544e975be69ea911ee31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the tree from a <a class="el" href="namespaceboost_1_1serialization.html">boost::serialization</a> archive. <a href="#a9b222cfd0020544e975be69ea911ee31">More...</a><br /></td></tr>
<tr class="separator:a9b222cfd0020544e975be69ea911ee31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ba93c930e6d12886eb42ff0a58e3058"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a4ba93c930e6d12886eb42ff0a58e3058">~BinarySpaceTree</a> ()</td></tr>
<tr class="memdesc:a4ba93c930e6d12886eb42ff0a58e3058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes this node, deallocating the memory for the children and calling their destructors in turn. <a href="#a4ba93c930e6d12886eb42ff0a58e3058">More...</a><br /></td></tr>
<tr class="separator:a4ba93c930e6d12886eb42ff0a58e3058"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedc996f347717b17eed76027db2d1743"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#aedc996f347717b17eed76027db2d1743">Begin</a> () const </td></tr>
<tr class="memdesc:aedc996f347717b17eed76027db2d1743"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the index of the beginning point of this subset. <a href="#aedc996f347717b17eed76027db2d1743">More...</a><br /></td></tr>
<tr class="separator:aedc996f347717b17eed76027db2d1743"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2065dc4e92c96a508ca63a8ead4d838b"><td class="memItemLeft" align="right" valign="top">size_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a2065dc4e92c96a508ca63a8ead4d838b">Begin</a> ()</td></tr>
<tr class="memdesc:a2065dc4e92c96a508ca63a8ead4d838b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify the index of the beginning point of this subset. <a href="#a2065dc4e92c96a508ca63a8ead4d838b">More...</a><br /></td></tr>
<tr class="separator:a2065dc4e92c96a508ca63a8ead4d838b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac138147e1721edb592e95a09d06d29bf"><td class="memItemLeft" align="right" valign="top">const BoundType&lt; MetricType &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#ac138147e1721edb592e95a09d06d29bf">Bound</a> () const </td></tr>
<tr class="memdesc:ac138147e1721edb592e95a09d06d29bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the bound object for this node. <a href="#ac138147e1721edb592e95a09d06d29bf">More...</a><br /></td></tr>
<tr class="separator:ac138147e1721edb592e95a09d06d29bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9531508c09dde92158ea1327db1becc0"><td class="memItemLeft" align="right" valign="top">BoundType&lt; MetricType &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a9531508c09dde92158ea1327db1becc0">Bound</a> ()</td></tr>
<tr class="memdesc:a9531508c09dde92158ea1327db1becc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the bound object for this node. <a href="#a9531508c09dde92158ea1327db1becc0">More...</a><br /></td></tr>
<tr class="separator:a9531508c09dde92158ea1327db1becc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31b8200b28927b8c10cef76a7801c532"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a31b8200b28927b8c10cef76a7801c532">Center</a> (arma::vec &amp;center) const </td></tr>
<tr class="memdesc:a31b8200b28927b8c10cef76a7801c532"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the center of the bounding region in the given vector. <a href="#a31b8200b28927b8c10cef76a7801c532">More...</a><br /></td></tr>
<tr class="separator:a31b8200b28927b8c10cef76a7801c532"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88194ac086f2bb0f9a2a209d2a2a487f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a88194ac086f2bb0f9a2a209d2a2a487f">Child</a> (const size_t child) const </td></tr>
<tr class="memdesc:a88194ac086f2bb0f9a2a209d2a2a487f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the specified child (0 will be left, 1 will be right). <a href="#a88194ac086f2bb0f9a2a209d2a2a487f">More...</a><br /></td></tr>
<tr class="separator:a88194ac086f2bb0f9a2a209d2a2a487f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbeb10c16b3249d0e1499ce8d5da5ac5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> *&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#acbeb10c16b3249d0e1499ce8d5da5ac5">ChildPtr</a> (const size_t child)</td></tr>
<tr class="separator:acbeb10c16b3249d0e1499ce8d5da5ac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9120977ee6db59619e52c1e6ca91a703"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a9120977ee6db59619e52c1e6ca91a703">Count</a> () const </td></tr>
<tr class="memdesc:a9120977ee6db59619e52c1e6ca91a703"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of points in this subset. <a href="#a9120977ee6db59619e52c1e6ca91a703">More...</a><br /></td></tr>
<tr class="separator:a9120977ee6db59619e52c1e6ca91a703"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29f2990b2407a32e328d787890fcc1eb"><td class="memItemLeft" align="right" valign="top">size_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a29f2990b2407a32e328d787890fcc1eb">Count</a> ()</td></tr>
<tr class="memdesc:a29f2990b2407a32e328d787890fcc1eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify the number of points in this subset. <a href="#a29f2990b2407a32e328d787890fcc1eb">More...</a><br /></td></tr>
<tr class="separator:a29f2990b2407a32e328d787890fcc1eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01a889397090893722c3e5a6fce99ad3"><td class="memItemLeft" align="right" valign="top">const MatType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a01a889397090893722c3e5a6fce99ad3">Dataset</a> () const </td></tr>
<tr class="memdesc:a01a889397090893722c3e5a6fce99ad3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the dataset which the tree is built on. <a href="#a01a889397090893722c3e5a6fce99ad3">More...</a><br /></td></tr>
<tr class="separator:a01a889397090893722c3e5a6fce99ad3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add85b6bb420a7a52cf6726d7ac333f4c"><td class="memItemLeft" align="right" valign="top">MatType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#add85b6bb420a7a52cf6726d7ac333f4c">Dataset</a> ()</td></tr>
<tr class="memdesc:add85b6bb420a7a52cf6726d7ac333f4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify the dataset which the tree is built on. Be careful! <a href="#add85b6bb420a7a52cf6726d7ac333f4c">More...</a><br /></td></tr>
<tr class="separator:add85b6bb420a7a52cf6726d7ac333f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26519b1b418c451c6ce9c0a73e1ed9a4"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a26519b1b418c451c6ce9c0a73e1ed9a4">Descendant</a> (const size_t index) const </td></tr>
<tr class="memdesc:a26519b1b418c451c6ce9c0a73e1ed9a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the index (with reference to the dataset) of a particular descendant of this node. <a href="#a26519b1b418c451c6ce9c0a73e1ed9a4">More...</a><br /></td></tr>
<tr class="separator:a26519b1b418c451c6ce9c0a73e1ed9a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a610bf44c4a589238ccb3157076f01403"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a610bf44c4a589238ccb3157076f01403">FurthestDescendantDistance</a> () const </td></tr>
<tr class="memdesc:a610bf44c4a589238ccb3157076f01403"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the furthest possible descendant distance. <a href="#a610bf44c4a589238ccb3157076f01403">More...</a><br /></td></tr>
<tr class="separator:a610bf44c4a589238ccb3157076f01403"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa42c0fa0301656c00edec02e1c5a30fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#aa42c0fa0301656c00edec02e1c5a30fb">FurthestPointDistance</a> () const </td></tr>
<tr class="memdesc:aa42c0fa0301656c00edec02e1c5a30fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the furthest distance to a point held in this node. <a href="#aa42c0fa0301656c00edec02e1c5a30fb">More...</a><br /></td></tr>
<tr class="separator:aa42c0fa0301656c00edec02e1c5a30fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d19406a1d846dbb17b602e4bc484c18"><td class="memTemplParams" colspan="2">template&lt;typename VecType &gt; </td></tr>
<tr class="memitem:a5d19406a1d846dbb17b602e4bc484c18"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5d19406a1d846dbb17b602e4bc484c18">GetFurthestChild</a> (const VecType &amp;point, typename <a class="el" href="namespacestd.html#ac774dbdf8ae769197167b2a8273462fc">std::enable_if_t</a>&lt; <a class="el" href="structIsVector.html">IsVector</a>&lt; VecType &gt;::value &gt; *=0)</td></tr>
<tr class="memdesc:a5d19406a1d846dbb17b602e4bc484c18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the index of the furthest child node to the given query point. <a href="#a5d19406a1d846dbb17b602e4bc484c18">More...</a><br /></td></tr>
<tr class="separator:a5d19406a1d846dbb17b602e4bc484c18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34e6a4b1e0437a3cc98e7160051c4f2b"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a34e6a4b1e0437a3cc98e7160051c4f2b">GetFurthestChild</a> (const <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> &amp;queryNode)</td></tr>
<tr class="memdesc:a34e6a4b1e0437a3cc98e7160051c4f2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the index of the furthest child node to the given query node. <a href="#a34e6a4b1e0437a3cc98e7160051c4f2b">More...</a><br /></td></tr>
<tr class="separator:a34e6a4b1e0437a3cc98e7160051c4f2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86588b2410e73642bec20531d73a1e04"><td class="memTemplParams" colspan="2">template&lt;typename VecType &gt; </td></tr>
<tr class="memitem:a86588b2410e73642bec20531d73a1e04"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a86588b2410e73642bec20531d73a1e04">GetNearestChild</a> (const VecType &amp;point, typename <a class="el" href="namespacestd.html#ac774dbdf8ae769197167b2a8273462fc">std::enable_if_t</a>&lt; <a class="el" href="structIsVector.html">IsVector</a>&lt; VecType &gt;::value &gt; *=0)</td></tr>
<tr class="memdesc:a86588b2410e73642bec20531d73a1e04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the index of the nearest child node to the given query point. <a href="#a86588b2410e73642bec20531d73a1e04">More...</a><br /></td></tr>
<tr class="separator:a86588b2410e73642bec20531d73a1e04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01bdad53130270216d4a4a1e29d325a2"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a01bdad53130270216d4a4a1e29d325a2">GetNearestChild</a> (const <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> &amp;queryNode)</td></tr>
<tr class="memdesc:a01bdad53130270216d4a4a1e29d325a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the index of the nearest child node to the given query node. <a href="#a01bdad53130270216d4a4a1e29d325a2">More...</a><br /></td></tr>
<tr class="separator:a01bdad53130270216d4a4a1e29d325a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5cda936d6f2cc112d357fcd2acaa785"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#ad5cda936d6f2cc112d357fcd2acaa785">IsLeaf</a> () const </td></tr>
<tr class="memdesc:ad5cda936d6f2cc112d357fcd2acaa785"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return whether or not this node is a leaf (true if it has no children). <a href="#ad5cda936d6f2cc112d357fcd2acaa785">More...</a><br /></td></tr>
<tr class="separator:ad5cda936d6f2cc112d357fcd2acaa785"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5e8942881d61e589ac3cba84ff79ee5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#ab5e8942881d61e589ac3cba84ff79ee5">Left</a> () const </td></tr>
<tr class="memdesc:ab5e8942881d61e589ac3cba84ff79ee5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the left child of this node. <a href="#ab5e8942881d61e589ac3cba84ff79ee5">More...</a><br /></td></tr>
<tr class="separator:ab5e8942881d61e589ac3cba84ff79ee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86146b31e86890a703097429805a08c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> *&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a86146b31e86890a703097429805a08c1">Left</a> ()</td></tr>
<tr class="memdesc:a86146b31e86890a703097429805a08c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify the left child of this node. <a href="#a86146b31e86890a703097429805a08c1">More...</a><br /></td></tr>
<tr class="separator:a86146b31e86890a703097429805a08c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aecfce2b0eab57c4a30219dd8b5b718"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a0aecfce2b0eab57c4a30219dd8b5b718">MaxDistance</a> (const <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> &amp;other) const </td></tr>
<tr class="memdesc:a0aecfce2b0eab57c4a30219dd8b5b718"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the maximum distance to another node. <a href="#a0aecfce2b0eab57c4a30219dd8b5b718">More...</a><br /></td></tr>
<tr class="separator:a0aecfce2b0eab57c4a30219dd8b5b718"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c2f0795c55f458880dbbdf018b2ae9b"><td class="memTemplParams" colspan="2">template&lt;typename VecType &gt; </td></tr>
<tr class="memitem:a0c2f0795c55f458880dbbdf018b2ae9b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a0c2f0795c55f458880dbbdf018b2ae9b">MaxDistance</a> (const VecType &amp;point, typename <a class="el" href="namespacestd.html#ac774dbdf8ae769197167b2a8273462fc">std::enable_if_t</a>&lt; <a class="el" href="structIsVector.html">IsVector</a>&lt; VecType &gt;::value &gt; *=0) const </td></tr>
<tr class="memdesc:a0c2f0795c55f458880dbbdf018b2ae9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the maximum distance to another point. <a href="#a0c2f0795c55f458880dbbdf018b2ae9b">More...</a><br /></td></tr>
<tr class="separator:a0c2f0795c55f458880dbbdf018b2ae9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af97ffcf5536eff69c2df58dfc512382f"><td class="memItemLeft" align="right" valign="top">MetricType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#af97ffcf5536eff69c2df58dfc512382f">Metric</a> () const </td></tr>
<tr class="memdesc:af97ffcf5536eff69c2df58dfc512382f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the metric that the tree uses. <a href="#af97ffcf5536eff69c2df58dfc512382f">More...</a><br /></td></tr>
<tr class="separator:af97ffcf5536eff69c2df58dfc512382f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a841df3c5421c31182cfe2de2f97097b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a841df3c5421c31182cfe2de2f97097b3">MinDistance</a> (const <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> &amp;other) const </td></tr>
<tr class="memdesc:a841df3c5421c31182cfe2de2f97097b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the minimum distance to another node. <a href="#a841df3c5421c31182cfe2de2f97097b3">More...</a><br /></td></tr>
<tr class="separator:a841df3c5421c31182cfe2de2f97097b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73d85567fefb22185d53286292530529"><td class="memTemplParams" colspan="2">template&lt;typename VecType &gt; </td></tr>
<tr class="memitem:a73d85567fefb22185d53286292530529"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a73d85567fefb22185d53286292530529">MinDistance</a> (const VecType &amp;point, typename <a class="el" href="namespacestd.html#ac774dbdf8ae769197167b2a8273462fc">std::enable_if_t</a>&lt; <a class="el" href="structIsVector.html">IsVector</a>&lt; VecType &gt;::value &gt; *=0) const </td></tr>
<tr class="memdesc:a73d85567fefb22185d53286292530529"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the minimum distance to another point. <a href="#a73d85567fefb22185d53286292530529">More...</a><br /></td></tr>
<tr class="separator:a73d85567fefb22185d53286292530529"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad1060c92be12f7fb4a72bea9ecc9cab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#aad1060c92be12f7fb4a72bea9ecc9cab">MinimumBoundDistance</a> () const </td></tr>
<tr class="memdesc:aad1060c92be12f7fb4a72bea9ecc9cab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the minimum distance from the center of the node to any bound edge. <a href="#aad1060c92be12f7fb4a72bea9ecc9cab">More...</a><br /></td></tr>
<tr class="separator:aad1060c92be12f7fb4a72bea9ecc9cab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5adbf8b4fe5a91ccd17a641d378d7ea6"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5adbf8b4fe5a91ccd17a641d378d7ea6">NumChildren</a> () const </td></tr>
<tr class="memdesc:a5adbf8b4fe5a91ccd17a641d378d7ea6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of children in this node. <a href="#a5adbf8b4fe5a91ccd17a641d378d7ea6">More...</a><br /></td></tr>
<tr class="separator:a5adbf8b4fe5a91ccd17a641d378d7ea6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5761f88aa817bd59230a132032b2d1d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#ad5761f88aa817bd59230a132032b2d1d">NumDescendants</a> () const </td></tr>
<tr class="memdesc:ad5761f88aa817bd59230a132032b2d1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of descendants of this node. <a href="#ad5761f88aa817bd59230a132032b2d1d">More...</a><br /></td></tr>
<tr class="separator:ad5761f88aa817bd59230a132032b2d1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add40e242806e6107f22f236c413614ba"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#add40e242806e6107f22f236c413614ba">NumPoints</a> () const </td></tr>
<tr class="memdesc:add40e242806e6107f22f236c413614ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of points in this node (0 if not a leaf). <a href="#add40e242806e6107f22f236c413614ba">More...</a><br /></td></tr>
<tr class="separator:add40e242806e6107f22f236c413614ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37a33c6faab909c699cbb60aada9521f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a37a33c6faab909c699cbb60aada9521f">Parent</a> () const </td></tr>
<tr class="memdesc:a37a33c6faab909c699cbb60aada9521f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the parent of this node. <a href="#a37a33c6faab909c699cbb60aada9521f">More...</a><br /></td></tr>
<tr class="separator:a37a33c6faab909c699cbb60aada9521f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae059911bf41c71290a07f6fd7920a823"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> *&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#ae059911bf41c71290a07f6fd7920a823">Parent</a> ()</td></tr>
<tr class="memdesc:ae059911bf41c71290a07f6fd7920a823"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify the parent of this node. <a href="#ae059911bf41c71290a07f6fd7920a823">More...</a><br /></td></tr>
<tr class="separator:ae059911bf41c71290a07f6fd7920a823"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4492862c990821516dd5b655fc0e0e53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a4492862c990821516dd5b655fc0e0e53">ParentDistance</a> () const </td></tr>
<tr class="memdesc:a4492862c990821516dd5b655fc0e0e53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the distance from the center of this node to the center of the parent node. <a href="#a4492862c990821516dd5b655fc0e0e53">More...</a><br /></td></tr>
<tr class="separator:a4492862c990821516dd5b655fc0e0e53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55425ebec0ef2c0ace9b2fe6006f42f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a55425ebec0ef2c0ace9b2fe6006f42f6">ParentDistance</a> ()</td></tr>
<tr class="memdesc:a55425ebec0ef2c0ace9b2fe6006f42f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify the distance from the center of this node to the center of the parent node. <a href="#a55425ebec0ef2c0ace9b2fe6006f42f6">More...</a><br /></td></tr>
<tr class="separator:a55425ebec0ef2c0ace9b2fe6006f42f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6833a92874e6342fa3523fead08ec411"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a6833a92874e6342fa3523fead08ec411">Point</a> (const size_t index) const </td></tr>
<tr class="memdesc:a6833a92874e6342fa3523fead08ec411"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the index (with reference to the dataset) of a particular point in this node. <a href="#a6833a92874e6342fa3523fead08ec411">More...</a><br /></td></tr>
<tr class="separator:a6833a92874e6342fa3523fead08ec411"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91052a8efe03a7da378cf0c646dd6f37"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1math_1_1RangeType.html">math::RangeType</a>&lt; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a91052a8efe03a7da378cf0c646dd6f37">RangeDistance</a> (const <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> &amp;other) const </td></tr>
<tr class="memdesc:a91052a8efe03a7da378cf0c646dd6f37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the minimum and maximum distance to another node. <a href="#a91052a8efe03a7da378cf0c646dd6f37">More...</a><br /></td></tr>
<tr class="separator:a91052a8efe03a7da378cf0c646dd6f37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95bee6fc9977cf83afc2cc5294619308"><td class="memTemplParams" colspan="2">template&lt;typename VecType &gt; </td></tr>
<tr class="memitem:a95bee6fc9977cf83afc2cc5294619308"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1math_1_1RangeType.html">math::RangeType</a>&lt; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a95bee6fc9977cf83afc2cc5294619308">RangeDistance</a> (const VecType &amp;point, typename <a class="el" href="namespacestd.html#ac774dbdf8ae769197167b2a8273462fc">std::enable_if_t</a>&lt; <a class="el" href="structIsVector.html">IsVector</a>&lt; VecType &gt;::value &gt; *=0) const </td></tr>
<tr class="memdesc:a95bee6fc9977cf83afc2cc5294619308"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the minimum and maximum distance to another point. <a href="#a95bee6fc9977cf83afc2cc5294619308">More...</a><br /></td></tr>
<tr class="separator:a95bee6fc9977cf83afc2cc5294619308"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc46ccbcdd25d2907042c02aa969286e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#abc46ccbcdd25d2907042c02aa969286e">Right</a> () const </td></tr>
<tr class="memdesc:abc46ccbcdd25d2907042c02aa969286e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the right child of this node. <a href="#abc46ccbcdd25d2907042c02aa969286e">More...</a><br /></td></tr>
<tr class="separator:abc46ccbcdd25d2907042c02aa969286e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a348fb083c7711cce7cbb1a3df65d661a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> *&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a348fb083c7711cce7cbb1a3df65d661a">Right</a> ()</td></tr>
<tr class="memdesc:a348fb083c7711cce7cbb1a3df65d661a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify the right child of this node. <a href="#a348fb083c7711cce7cbb1a3df65d661a">More...</a><br /></td></tr>
<tr class="separator:a348fb083c7711cce7cbb1a3df65d661a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab95f82ba85224db2c4c002320813aeee"><td class="memTemplParams" colspan="2">template&lt;typename Archive &gt; </td></tr>
<tr class="memitem:ab95f82ba85224db2c4c002320813aeee"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#ab95f82ba85224db2c4c002320813aeee">Serialize</a> (Archive &amp;ar, const unsigned int version)</td></tr>
<tr class="memdesc:ab95f82ba85224db2c4c002320813aeee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize the tree. <a href="#ab95f82ba85224db2c4c002320813aeee">More...</a><br /></td></tr>
<tr class="separator:ab95f82ba85224db2c4c002320813aeee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54d70c2f89b0578a80925f6fcea7dc6e"><td class="memItemLeft" align="right" valign="top">const StatisticType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a54d70c2f89b0578a80925f6fcea7dc6e">Stat</a> () const </td></tr>
<tr class="memdesc:a54d70c2f89b0578a80925f6fcea7dc6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the statistic object for this node. <a href="#a54d70c2f89b0578a80925f6fcea7dc6e">More...</a><br /></td></tr>
<tr class="separator:a54d70c2f89b0578a80925f6fcea7dc6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a683b56dae5c4d17ea6de59ee64219b17"><td class="memItemLeft" align="right" valign="top">StatisticType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a683b56dae5c4d17ea6de59ee64219b17">Stat</a> ()</td></tr>
<tr class="memdesc:a683b56dae5c4d17ea6de59ee64219b17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the statistic object for this node. <a href="#a683b56dae5c4d17ea6de59ee64219b17">More...</a><br /></td></tr>
<tr class="separator:a683b56dae5c4d17ea6de59ee64219b17"><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:afa70e3ce35ee7e4ee3e3e57d3a1b91ee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#afa70e3ce35ee7e4ee3e3e57d3a1b91ee">BinarySpaceTree</a> ()</td></tr>
<tr class="memdesc:afa70e3ce35ee7e4ee3e3e57d3a1b91ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">A default constructor. <a href="#afa70e3ce35ee7e4ee3e3e57d3a1b91ee">More...</a><br /></td></tr>
<tr class="separator:afa70e3ce35ee7e4ee3e3e57d3a1b91ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a359804f7939de9bda4d011e25609c3da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a359804f7939de9bda4d011e25609c3da">SplitNode</a> (const size_t maxLeafSize, SplitType&lt; BoundType&lt; MetricType &gt;, MatType &gt; &amp;splitter)</td></tr>
<tr class="memdesc:a359804f7939de9bda4d011e25609c3da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits the current node, assigning its left and right children recursively. <a href="#a359804f7939de9bda4d011e25609c3da">More...</a><br /></td></tr>
<tr class="separator:a359804f7939de9bda4d011e25609c3da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad458708a10ab1d557dd2de5feae8cc05"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#ad458708a10ab1d557dd2de5feae8cc05">SplitNode</a> (std::vector&lt; size_t &gt; &amp;oldFromNew, const size_t maxLeafSize, SplitType&lt; BoundType&lt; MetricType &gt;, MatType &gt; &amp;splitter)</td></tr>
<tr class="memdesc:ad458708a10ab1d557dd2de5feae8cc05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits the current node, assigning its left and right children recursively. <a href="#ad458708a10ab1d557dd2de5feae8cc05">More...</a><br /></td></tr>
<tr class="separator:ad458708a10ab1d557dd2de5feae8cc05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a773ea7548ad7ddba6265e242bceb2221"><td class="memTemplParams" colspan="2">template&lt;typename BoundType2 &gt; </td></tr>
<tr class="memitem:a773ea7548ad7ddba6265e242bceb2221"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a773ea7548ad7ddba6265e242bceb2221">UpdateBound</a> (BoundType2 &amp;boundToUpdate)</td></tr>
<tr class="memdesc:a773ea7548ad7ddba6265e242bceb2221"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the bound of the current node. <a href="#a773ea7548ad7ddba6265e242bceb2221">More...</a><br /></td></tr>
<tr class="separator:a773ea7548ad7ddba6265e242bceb2221"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ef5d210b25f800a87112c2e1d565688"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a2ef5d210b25f800a87112c2e1d565688">UpdateBound</a> (<a class="el" href="classmlpack_1_1bound_1_1HollowBallBound.html">bound::HollowBallBound</a>&lt; MetricType &gt; &amp;boundToUpdate)</td></tr>
<tr class="memdesc:a2ef5d210b25f800a87112c2e1d565688"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the bound of the current node. <a href="#a2ef5d210b25f800a87112c2e1d565688">More...</a><br /></td></tr>
<tr class="separator:a2ef5d210b25f800a87112c2e1d565688"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:af040cc83b8f5086e5dae3ad269435238"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#af040cc83b8f5086e5dae3ad269435238">begin</a></td></tr>
<tr class="memdesc:af040cc83b8f5086e5dae3ad269435238"><td class="mdescLeft">&#160;</td><td class="mdescRight">The index of the first point in the dataset contained in this node (and its children). <a href="#af040cc83b8f5086e5dae3ad269435238">More...</a><br /></td></tr>
<tr class="separator:af040cc83b8f5086e5dae3ad269435238"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a989e92e4ca3e6eb1943e394cd0cf6123"><td class="memItemLeft" align="right" valign="top">BoundType&lt; MetricType &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a989e92e4ca3e6eb1943e394cd0cf6123">bound</a></td></tr>
<tr class="memdesc:a989e92e4ca3e6eb1943e394cd0cf6123"><td class="mdescLeft">&#160;</td><td class="mdescRight">The bound object for this node. <a href="#a989e92e4ca3e6eb1943e394cd0cf6123">More...</a><br /></td></tr>
<tr class="separator:a989e92e4ca3e6eb1943e394cd0cf6123"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a858649909a8a1dc833a60034e85f5a55"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a858649909a8a1dc833a60034e85f5a55">count</a></td></tr>
<tr class="memdesc:a858649909a8a1dc833a60034e85f5a55"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of points of the dataset contained in this node (and its children). <a href="#a858649909a8a1dc833a60034e85f5a55">More...</a><br /></td></tr>
<tr class="separator:a858649909a8a1dc833a60034e85f5a55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ae04b81295704fd05c0442308291f81"><td class="memItemLeft" align="right" valign="top">MatType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a2ae04b81295704fd05c0442308291f81">dataset</a></td></tr>
<tr class="memdesc:a2ae04b81295704fd05c0442308291f81"><td class="mdescLeft">&#160;</td><td class="mdescRight">The dataset. <a href="#a2ae04b81295704fd05c0442308291f81">More...</a><br /></td></tr>
<tr class="separator:a2ae04b81295704fd05c0442308291f81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ce6e105067f681d45ff65aaac388c90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5ce6e105067f681d45ff65aaac388c90">furthestDescendantDistance</a></td></tr>
<tr class="memdesc:a5ce6e105067f681d45ff65aaac388c90"><td class="mdescLeft">&#160;</td><td class="mdescRight">The worst possible distance to the furthest descendant, cached to speed things up. <a href="#a5ce6e105067f681d45ff65aaac388c90">More...</a><br /></td></tr>
<tr class="separator:a5ce6e105067f681d45ff65aaac388c90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acab6f54be9e548cf8b381a76587e72c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#acab6f54be9e548cf8b381a76587e72c5">left</a></td></tr>
<tr class="memdesc:acab6f54be9e548cf8b381a76587e72c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The left child node. <a href="#acab6f54be9e548cf8b381a76587e72c5">More...</a><br /></td></tr>
<tr class="separator:acab6f54be9e548cf8b381a76587e72c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1c6cf1c39d8f5fef58ad2b882f15b36"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#af1c6cf1c39d8f5fef58ad2b882f15b36">minimumBoundDistance</a></td></tr>
<tr class="memdesc:af1c6cf1c39d8f5fef58ad2b882f15b36"><td class="mdescLeft">&#160;</td><td class="mdescRight">The minimum distance from the center to any edge of the bound. <a href="#af1c6cf1c39d8f5fef58ad2b882f15b36">More...</a><br /></td></tr>
<tr class="separator:af1c6cf1c39d8f5fef58ad2b882f15b36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d32df7d289d19f3ac067490633e3073"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5d32df7d289d19f3ac067490633e3073">parent</a></td></tr>
<tr class="memdesc:a5d32df7d289d19f3ac067490633e3073"><td class="mdescLeft">&#160;</td><td class="mdescRight">The parent node (NULL if this is the root of the tree). <a href="#a5d32df7d289d19f3ac067490633e3073">More...</a><br /></td></tr>
<tr class="separator:a5d32df7d289d19f3ac067490633e3073"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b75bc715e51a56b80b82303819035a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5b75bc715e51a56b80b82303819035a1">parentDistance</a></td></tr>
<tr class="memdesc:a5b75bc715e51a56b80b82303819035a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">The distance from the centroid of this node to the centroid of the parent. <a href="#a5b75bc715e51a56b80b82303819035a1">More...</a><br /></td></tr>
<tr class="separator:a5b75bc715e51a56b80b82303819035a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fe71cdc33cdbe0f740d533d4058fb2e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a8fe71cdc33cdbe0f740d533d4058fb2e">right</a></td></tr>
<tr class="memdesc:a8fe71cdc33cdbe0f740d533d4058fb2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The right child node. <a href="#a8fe71cdc33cdbe0f740d533d4058fb2e">More...</a><br /></td></tr>
<tr class="separator:a8fe71cdc33cdbe0f740d533d4058fb2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ec54f09a2a94c8735a5b5a8fb19a447"><td class="memItemLeft" align="right" valign="top">StatisticType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5ec54f09a2a94c8735a5b5a8fb19a447">stat</a></td></tr>
<tr class="memdesc:a5ec54f09a2a94c8735a5b5a8fb19a447"><td class="mdescLeft">&#160;</td><td class="mdescRight">Any extra data contained in the node. <a href="#a5ec54f09a2a94c8735a5b5a8fb19a447">More...</a><br /></td></tr>
<tr class="separator:a5ec54f09a2a94c8735a5b5a8fb19a447"><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 MetricType, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt;<br />
class mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;</h3>
<p>A binary space partitioning tree, such as a KD-tree or a ball tree. </p>
<p>Once the bound and type of dataset is defined, the tree will construct itself. Call the constructor with the dataset to build the tree on, and the entire tree will be built.</p>
<p>This particular tree does not allow growth, so you cannot add or delete nodes from it. If you need to add or delete a node, the better procedure is to rebuild the tree entirely.</p>
<p>This tree does take one runtime parameter in the constructor, which is the max leaf size to be used.</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">MetricType</td><td>The metric used for tree-building. The BoundType may place restrictions on the metrics that can be used. </td></tr>
<tr><td class="paramname">StatisticType</td><td>Extra data contained in the node. See <a class="el" href="statistic_8hpp.html" title="Definition of the policy type for the statistic class. ">statistic.hpp</a> for the necessary skeleton interface. </td></tr>
<tr><td class="paramname">MatType</td><td>The dataset class. </td></tr>
<tr><td class="paramname">BoundType</td><td>The bound used for each node. HRectBound, the default, requires that an LMetric&lt;&gt; is used for MetricType (so, EuclideanDistance, ManhattanDistance, etc.). </td></tr>
<tr><td class="paramname">SplitType</td><td>The class that partitions the dataset/points at a particular node into two parts. Its definition decides the way this split is done. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00054">54</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a45c13c579558efc3210ea11dedc6f4ed"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef MatType::elem_type <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The type of element held in MatType. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00060">60</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="acc0949ae4b589b4e90884419e3b08c38"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef MatType <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#acc0949ae4b589b4e90884419e3b08c38">Mat</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>So other classes can use TreeType::Mat. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00058">58</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="adf5bc9bf70878521afddfc0a64d9f1a8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef SplitType&lt;BoundType&lt;MetricType&gt;, MatType&gt; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#adf5bc9bf70878521afddfc0a64d9f1a8">Split</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00062">62</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ab5a1d86417a1c0af92ba3a4f80ce96f7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> </td>
<td>(</td>
<td class="paramtype">const MatType &amp;&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>maxLeafSize</em> = <code>20</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct this as the root node of a binary space tree using the given dataset. </p>
<p>This will copy the input matrix; if you don't want this, consider using the constructor that takes an rvalue reference and use std::move().</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Dataset to create tree from. This will be copied! </td></tr>
<tr><td class="paramname">maxLeafSize</td><td>Size of each leaf in the tree. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aaf777bf78844a1cfa0cd417fd79fe62e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> </td>
<td>(</td>
<td class="paramtype">const MatType &amp;&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; size_t &gt; &amp;&#160;</td>
<td class="paramname"><em>oldFromNew</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>maxLeafSize</em> = <code>20</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct this as the root node of a binary space tree using the given dataset. </p>
<p>This will copy the input matrix and modify its ordering; a mapping of the old point indices to the new point indices is filled. If you don't want the matrix to be copied, consider using the constructor that takes an rvalue reference and use std::move().</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Dataset to create tree from. This will be copied! </td></tr>
<tr><td class="paramname">oldFromNew</td><td>Vector which will be filled with the old positions for each new point. </td></tr>
<tr><td class="paramname">maxLeafSize</td><td>Size of each leaf in the tree. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a8dee1f2c906e62c56bac004ffc45d26d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> </td>
<td>(</td>
<td class="paramtype">const MatType &amp;&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; size_t &gt; &amp;&#160;</td>
<td class="paramname"><em>oldFromNew</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; size_t &gt; &amp;&#160;</td>
<td class="paramname"><em>newFromOld</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>maxLeafSize</em> = <code>20</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct this as the root node of a binary space tree using the given dataset. </p>
<p>This will copy the input matrix and modify its ordering; a mapping of the old point indices to the new point indices is filled, as well as a mapping of the new point indices to the old point indices. If you don't want the matrix to be copied, consider using the constructor that takes an rvalue reference and use std::move().</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Dataset to create tree from. This will be copied! </td></tr>
<tr><td class="paramname">oldFromNew</td><td>Vector which will be filled with the old positions for each new point. </td></tr>
<tr><td class="paramname">newFromOld</td><td>Vector which will be filled with the new positions for each old point. </td></tr>
<tr><td class="paramname">maxLeafSize</td><td>Size of each leaf in the tree. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ad0733134f50183f605e3df0eb784ceec"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> </td>
<td>(</td>
<td class="paramtype">MatType &amp;&amp;&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>maxLeafSize</em> = <code>20</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct this as the root node of a binary space tree using the given dataset. </p>
<p>This will take ownership of the data matrix; if you don't want this, consider using the constructor that takes a const reference to a dataset.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Dataset to create tree from. </td></tr>
<tr><td class="paramname">maxLeafSize</td><td>Size of each leaf in the tree. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ae620f2d1d16beafff047963954529f57"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> </td>
<td>(</td>
<td class="paramtype">MatType &amp;&amp;&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; size_t &gt; &amp;&#160;</td>
<td class="paramname"><em>oldFromNew</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>maxLeafSize</em> = <code>20</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct this as the root node of a binary space tree using the given dataset. </p>
<p>This will take ownership of the data matrix; a mapping of the old point indices to the new point indices is filled. If you don't want the matrix to have its ownership taken, consider using the constructor that takes a const reference to a dataset.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Dataset to create tree from. </td></tr>
<tr><td class="paramname">oldFromNew</td><td>Vector which will be filled with the old positions for each new point. </td></tr>
<tr><td class="paramname">maxLeafSize</td><td>Size of each leaf in the tree. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a1f2bbb50a854fdf9fae766f6deaeceb1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> </td>
<td>(</td>
<td class="paramtype">MatType &amp;&amp;&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; size_t &gt; &amp;&#160;</td>
<td class="paramname"><em>oldFromNew</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; size_t &gt; &amp;&#160;</td>
<td class="paramname"><em>newFromOld</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>maxLeafSize</em> = <code>20</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct this as the root node of a binary space tree using the given dataset. </p>
<p>This will take ownership of the data matrix; a mapping of the old point indices to the new point indices is filled, as well as a mapping of the new point indices to the old point indices. If you don't want the matrix to have its ownership taken, consider using the constructor that takes a const reference to a dataset.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Dataset to create tree from. </td></tr>
<tr><td class="paramname">oldFromNew</td><td>Vector which will be filled with the old positions for each new point. </td></tr>
<tr><td class="paramname">newFromOld</td><td>Vector which will be filled with the new positions for each old point. </td></tr>
<tr><td class="paramname">maxLeafSize</td><td>Size of each leaf in the tree. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a1edd4b2fe88a2b5a97e446593920fd14"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt; *&#160;</td>
<td class="paramname"><em>parent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">SplitType&lt; BoundType&lt; MetricType &gt;, MatType &gt; &amp;&#160;</td>
<td class="paramname"><em>splitter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>maxLeafSize</em> = <code>20</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct this node as a child of the given parent, starting at column begin and using count points. </p>
<p>The ordering of that subset of points in the parent's data matrix will be modified! This is used for recursive tree-building by the other constructors which don't specify point indices.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">parent</td><td>Parent of this node. Its dataset will be modified! </td></tr>
<tr><td class="paramname">begin</td><td>Index of point to start tree construction with. </td></tr>
<tr><td class="paramname">count</td><td>Number of points to use to construct tree. </td></tr>
<tr><td class="paramname">splitter</td><td>Instantiated node splitter object. </td></tr>
<tr><td class="paramname">maxLeafSize</td><td>Size of each leaf in the tree. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a400251078a497e334946b93067ba4174"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt; *&#160;</td>
<td class="paramname"><em>parent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; size_t &gt; &amp;&#160;</td>
<td class="paramname"><em>oldFromNew</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">SplitType&lt; BoundType&lt; MetricType &gt;, MatType &gt; &amp;&#160;</td>
<td class="paramname"><em>splitter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>maxLeafSize</em> = <code>20</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct this node as a child of the given parent, starting at column begin and using count points. </p>
<p>The ordering of that subset of points in the parent's data matrix will be modified! This is used for recursive tree-building by the other constructors which don't specify point indices.</p>
<p>A mapping of the old point indices to the new point indices is filled, but it is expected that the vector is already allocated with size greater than or equal to (begin + count), and if that is not true, invalid memory reads (and writes) will occur.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">parent</td><td>Parent of this node. Its dataset will be modified! </td></tr>
<tr><td class="paramname">begin</td><td>Index of point to start tree construction with. </td></tr>
<tr><td class="paramname">count</td><td>Number of points to use to construct tree. </td></tr>
<tr><td class="paramname">oldFromNew</td><td>Vector which will be filled with the old positions for each new point. </td></tr>
<tr><td class="paramname">splitter</td><td>Instantiated node splitter object. </td></tr>
<tr><td class="paramname">maxLeafSize</td><td>Size of each leaf in the tree. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ac95c0a50a1671ce97a5a7f34fad1eb2d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt; *&#160;</td>
<td class="paramname"><em>parent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; size_t &gt; &amp;&#160;</td>
<td class="paramname"><em>oldFromNew</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; size_t &gt; &amp;&#160;</td>
<td class="paramname"><em>newFromOld</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">SplitType&lt; BoundType&lt; MetricType &gt;, MatType &gt; &amp;&#160;</td>
<td class="paramname"><em>splitter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>maxLeafSize</em> = <code>20</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct this node as a child of the given parent, starting at column begin and using count points. </p>
<p>The ordering of that subset of points in the parent's data matrix will be modified! This is used for recursive tree-building by the other constructors which don't specify point indices.</p>
<p>A mapping of the old point indices to the new point indices is filled, as well as a mapping of the new point indices to the old point indices. It is expected that the vector is already allocated with size greater than or equal to (begin_in + count_in), and if that is not true, invalid memory reads (and writes) will occur.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">parent</td><td>Parent of this node. Its dataset will be modified! </td></tr>
<tr><td class="paramname">begin</td><td>Index of point to start tree construction with. </td></tr>
<tr><td class="paramname">count</td><td>Number of points to use to construct tree. </td></tr>
<tr><td class="paramname">oldFromNew</td><td>Vector which will be filled with the old positions for each new point. </td></tr>
<tr><td class="paramname">newFromOld</td><td>Vector which will be filled with the new positions for each old point. </td></tr>
<tr><td class="paramname">maxLeafSize</td><td>Size of each leaf in the tree. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a409ca533ddcd1444cc0d28cdeaa4ad0f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt; &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a binary space tree by copying the other tree. </p>
<p>Be careful! This can take a long time and use a lot of memory.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Tree to be replicated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab4854d2b181a38c7c066ef723c6ae6dd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt; &amp;&amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Move constructor for a <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html" title="A binary space partitioning tree, such as a KD-tree or a ball tree. ">BinarySpaceTree</a>; possess all the members of the given tree. </p>
</div>
</div>
<a class="anchor" id="a9b222cfd0020544e975be69ea911ee31"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<div class="memtemplate">
template&lt;typename Archive &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> </td>
<td>(</td>
<td class="paramtype">Archive &amp;&#160;</td>
<td class="paramname"><em>ar</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const typename <a class="el" href="namespacestd.html#ac774dbdf8ae769197167b2a8273462fc">std::enable_if_t</a>&lt; Archive::is_loading::value &gt; *&#160;</td>
<td class="paramname"> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize the tree from a <a class="el" href="namespaceboost_1_1serialization.html">boost::serialization</a> archive. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ar</td><td>Archive to load tree from. Must be an iarchive, not an oarchive. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a4ba93c930e6d12886eb42ff0a58e3058"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::~<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Deletes this node, deallocating the memory for the children and calling their destructors in turn. </p>
<p>This will invalidate any pointers or references to any nodes which are children of this one. </p>
</div>
</div>
<a class="anchor" id="afa70e3ce35ee7e4ee3e3e57d3a1b91ee"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>A default constructor. </p>
<p>This is meant to only be used with <a class="el" href="namespaceboost_1_1serialization.html">boost::serialization</a>, which is allowed with the friend declaration below. This does not return a valid tree! The method must be protected, so that the serialization shim can work with the default constructor. </p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00493">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Center()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aedc996f347717b17eed76027db2d1743"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Begin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the index of the beginning point of this subset. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00483">483</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00073">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::begin</a>.</p>
</div>
</div>
<a class="anchor" id="a2065dc4e92c96a508ca63a8ead4d838b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t&amp; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Begin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Modify the index of the beginning point of this subset. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00485">485</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00073">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::begin</a>.</p>
</div>
</div>
<a class="anchor" id="ac138147e1721edb592e95a09d06d29bf"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const BoundType&lt;MetricType&gt;&amp; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Bound </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>Return the bound object for this node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00304">304</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00078">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::bound</a>.</p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00444">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::MaxDistance()</a>, <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00438">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::MinDistance()</a>, and <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00450">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::RangeDistance()</a>.</p>
</div>
</div>
<a class="anchor" id="a9531508c09dde92158ea1327db1becc0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">BoundType&lt;MetricType&gt;&amp; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Bound </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the bound object for this node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00306">306</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00078">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::bound</a>.</p>
</div>
</div>
<a class="anchor" id="a31b8200b28927b8c10cef76a7801c532"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Center </td>
<td>(</td>
<td class="paramtype">arma::vec &amp;&#160;</td>
<td class="paramname"><em>center</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>Store the center of the bounding region in the given vector. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00493">493</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#afa70e3ce35ee7e4ee3e3e57d3a1b91ee">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::BinarySpaceTree()</a>, <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a359804f7939de9bda4d011e25609c3da">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::SplitNode()</a>, and <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a773ea7548ad7ddba6265e242bceb2221">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::UpdateBound()</a>.</p>
</div>
</div>
<a class="anchor" id="a88194ac086f2bb0f9a2a209d2a2a487f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>&amp; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Child </td>
<td>(</td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>child</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the specified child (0 will be left, 1 will be right). </p>
<p>If the index is greater than 1, this will return the right child.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">child</td><td>Index of child to return. </td></tr>
</table>
</dd>
</dl>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00395">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::ParentDistance()</a>.</p>
</div>
</div>
<a class="anchor" id="acbeb10c16b3249d0e1499ce8d5da5ac5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>*&amp; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::ChildPtr </td>
<td>(</td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>child</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>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00405">405</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a26519b1b418c451c6ce9c0a73e1ed9a4">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Descendant()</a>, <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#ad5761f88aa817bd59230a132032b2d1d">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::NumDescendants()</a>, <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#add40e242806e6107f22f236c413614ba">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::NumPoints()</a>, <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a6833a92874e6342fa3523fead08ec411">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Point()</a>, and <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00068">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::right</a>.</p>
</div>
</div>
<a class="anchor" id="a9120977ee6db59619e52c1e6ca91a703"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Count </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>Return the number of points in this subset. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00488">488</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00076">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::count</a>.</p>
</div>
</div>
<a class="anchor" id="a29f2990b2407a32e328d787890fcc1eb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t&amp; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Count </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Modify the number of points in this subset. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00490">490</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00076">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::count</a>.</p>
</div>
</div>
<a class="anchor" id="a01a889397090893722c3e5a6fce99ad3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const MatType&amp; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Dataset </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>Get the dataset which the tree is built on. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00332">332</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00090">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::dataset</a>.</p>
</div>
</div>
<a class="anchor" id="add85b6bb420a7a52cf6726d7ac333f4c"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">MatType&amp; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Dataset </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Modify the dataset which the tree is built on. Be careful! </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00334">334</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00090">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::dataset</a>.</p>
</div>
</div>
<a class="anchor" id="a26519b1b418c451c6ce9c0a73e1ed9a4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Descendant </td>
<td>(</td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the index (with reference to the dataset) of a particular descendant of this node. </p>
<p>The index should be greater than zero but less than the number of descendants.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index</td><td>Index of the descendant. </td></tr>
</table>
</dd>
</dl>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00405">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::ChildPtr()</a>.</p>
</div>
</div>
<a class="anchor" id="a610bf44c4a589238ccb3157076f01403"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a> <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::FurthestDescendantDistance </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the furthest possible descendant distance. </p>
<p>This returns the maximum distance from the centroid to the edge of the bound and not the empirical quantity which is the actual furthest descendant distance. So the actual furthest descendant distance may be less than what this method returns (but it will never be greater than this). </p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00337">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Metric()</a>.</p>
</div>
</div>
<a class="anchor" id="aa42c0fa0301656c00edec02e1c5a30fb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a> <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::FurthestPointDistance </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the furthest distance to a point held in this node. </p>
<p>If this is not a leaf node, then the distance is 0 because the node holds no points. </p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00337">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Metric()</a>.</p>
</div>
</div>
<a class="anchor" id="a5d19406a1d846dbb17b602e4bc484c18"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<div class="memtemplate">
template&lt;typename VecType &gt; </div>
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::GetFurthestChild </td>
<td>(</td>
<td class="paramtype">const VecType &amp;&#160;</td>
<td class="paramname"><em>point</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">typename <a class="el" href="namespacestd.html#ac774dbdf8ae769197167b2a8273462fc">std::enable_if_t</a>&lt; <a class="el" href="structIsVector.html">IsVector</a>&lt; VecType &gt;::value &gt; *&#160;</td>
<td class="paramname"> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the index of the furthest child node to the given query point. </p>
<p>If this is a leaf node, it will return <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5adbf8b4fe5a91ccd17a641d378d7ea6" title="Return the number of children in this node. ">NumChildren()</a> (invalid index). </p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00337">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Metric()</a>.</p>
</div>
</div>
<a class="anchor" id="a34e6a4b1e0437a3cc98e7160051c4f2b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::GetFurthestChild </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt; &amp;&#160;</td>
<td class="paramname"><em>queryNode</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the index of the furthest child node to the given query node. </p>
<p>If it can't decide, it will return <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5adbf8b4fe5a91ccd17a641d378d7ea6" title="Return the number of children in this node. ">NumChildren()</a> (invalid index). </p>
</div>
</div>
<a class="anchor" id="a86588b2410e73642bec20531d73a1e04"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<div class="memtemplate">
template&lt;typename VecType &gt; </div>
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::GetNearestChild </td>
<td>(</td>
<td class="paramtype">const VecType &amp;&#160;</td>
<td class="paramname"><em>point</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">typename <a class="el" href="namespacestd.html#ac774dbdf8ae769197167b2a8273462fc">std::enable_if_t</a>&lt; <a class="el" href="structIsVector.html">IsVector</a>&lt; VecType &gt;::value &gt; *&#160;</td>
<td class="paramname"> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the index of the nearest child node to the given query point. </p>
<p>If this is a leaf node, it will return <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5adbf8b4fe5a91ccd17a641d378d7ea6" title="Return the number of children in this node. ">NumChildren()</a> (invalid index). </p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00337">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Metric()</a>.</p>
</div>
</div>
<a class="anchor" id="a01bdad53130270216d4a4a1e29d325a2"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::GetNearestChild </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt; &amp;&#160;</td>
<td class="paramname"><em>queryNode</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the index of the nearest child node to the given query node. </p>
<p>If it can't decide, it will return <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5adbf8b4fe5a91ccd17a641d378d7ea6" title="Return the number of children in this node. ">NumChildren()</a> (invalid index). </p>
</div>
</div>
<a class="anchor" id="ad5cda936d6f2cc112d357fcd2acaa785"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::IsLeaf </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return whether or not this node is a leaf (true if it has no children). </p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00311">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Stat()</a>.</p>
</div>
</div>
<a class="anchor" id="ab5e8942881d61e589ac3cba84ff79ee5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>* <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Left </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>Gets the left child of this node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00317">317</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00066">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::left</a>.</p>
</div>
</div>
<a class="anchor" id="a86146b31e86890a703097429805a08c1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>*&amp; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Left </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Modify the left child of this node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00319">319</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00066">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::left</a>.</p>
</div>
</div>
<a class="anchor" id="a0aecfce2b0eab57c4a30219dd8b5b718"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a> <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::MaxDistance </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt; &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>Return the maximum distance to another node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00444">444</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00304">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Bound()</a>.</p>
</div>
</div>
<a class="anchor" id="a0c2f0795c55f458880dbbdf018b2ae9b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<div class="memtemplate">
template&lt;typename VecType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a> <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::MaxDistance </td>
<td>(</td>
<td class="paramtype">const VecType &amp;&#160;</td>
<td class="paramname"><em>point</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">typename <a class="el" href="namespacestd.html#ac774dbdf8ae769197167b2a8273462fc">std::enable_if_t</a>&lt; <a class="el" href="structIsVector.html">IsVector</a>&lt; VecType &gt;::value &gt; *&#160;</td>
<td class="paramname"> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Return the maximum distance to another point. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00466">466</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="af97ffcf5536eff69c2df58dfc512382f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">MetricType <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Metric </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>Get the metric that the tree uses. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00337">337</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a610bf44c4a589238ccb3157076f01403">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::FurthestDescendantDistance()</a>, <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#aa42c0fa0301656c00edec02e1c5a30fb">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::FurthestPointDistance()</a>, <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5d19406a1d846dbb17b602e4bc484c18">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::GetFurthestChild()</a>, <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a86588b2410e73642bec20531d73a1e04">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::GetNearestChild()</a>, <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#aad1060c92be12f7fb4a72bea9ecc9cab">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::MinimumBoundDistance()</a>, and <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a5adbf8b4fe5a91ccd17a641d378d7ea6">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::NumChildren()</a>.</p>
</div>
</div>
<a class="anchor" id="a841df3c5421c31182cfe2de2f97097b3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a> <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::MinDistance </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt; &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>Return the minimum distance to another node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00438">438</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00304">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Bound()</a>.</p>
</div>
</div>
<a class="anchor" id="a73d85567fefb22185d53286292530529"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<div class="memtemplate">
template&lt;typename VecType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a> <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::MinDistance </td>
<td>(</td>
<td class="paramtype">const VecType &amp;&#160;</td>
<td class="paramname"><em>point</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">typename <a class="el" href="namespacestd.html#ac774dbdf8ae769197167b2a8273462fc">std::enable_if_t</a>&lt; <a class="el" href="structIsVector.html">IsVector</a>&lt; VecType &gt;::value &gt; *&#160;</td>
<td class="paramname"> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Return the minimum distance to another point. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00457">457</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="aad1060c92be12f7fb4a72bea9ecc9cab"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a> <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::MinimumBoundDistance </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the minimum distance from the center of the node to any bound edge. </p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00337">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Metric()</a>.</p>
</div>
</div>
<a class="anchor" id="a5adbf8b4fe5a91ccd17a641d378d7ea6"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::NumChildren </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the number of children in this node. </p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00337">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Metric()</a>.</p>
</div>
</div>
<a class="anchor" id="ad5761f88aa817bd59230a132032b2d1d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::NumDescendants </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the number of descendants of this node. </p>
<p>For a non-leaf in a binary space tree, this is the number of points at the descendant leaves. For a leaf, this is the number of points in the leaf. </p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00405">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::ChildPtr()</a>.</p>
</div>
</div>
<a class="anchor" id="add40e242806e6107f22f236c413614ba"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::NumPoints </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the number of points in this node (0 if not a leaf). </p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00405">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::ChildPtr()</a>.</p>
</div>
</div>
<a class="anchor" id="a37a33c6faab909c699cbb60aada9521f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>* <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Parent </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>Gets the parent of this node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00327">327</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00070">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::parent</a>.</p>
</div>
</div>
<a class="anchor" id="ae059911bf41c71290a07f6fd7920a823"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>*&amp; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Parent </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Modify the parent of this node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00329">329</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00070">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::parent</a>.</p>
</div>
</div>
<a class="anchor" id="a4492862c990821516dd5b655fc0e0e53"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a> <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::ParentDistance </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>Return the distance from the center of this node to the center of the parent node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00392">392</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00082">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::parentDistance</a>.</p>
</div>
</div>
<a class="anchor" id="a55425ebec0ef2c0ace9b2fe6006f42f6"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a>&amp; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::ParentDistance </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Modify the distance from the center of this node to the center of the parent node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00395">395</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a88194ac086f2bb0f9a2a209d2a2a487f">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Child()</a>, and <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00082">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::parentDistance</a>.</p>
</div>
</div>
<a class="anchor" id="a6833a92874e6342fa3523fead08ec411"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Point </td>
<td>(</td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the index (with reference to the dataset) of a particular point in this node. </p>
<p>This will happily return invalid indices if the given index is greater than the number of points in this node (obtained with <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#add40e242806e6107f22f236c413614ba" title="Return the number of points in this node (0 if not a leaf). ">NumPoints()</a>) &ndash; be careful.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index</td><td>Index of point for which a dataset index is wanted. </td></tr>
</table>
</dd>
</dl>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00405">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::ChildPtr()</a>.</p>
</div>
</div>
<a class="anchor" id="a91052a8efe03a7da378cf0c646dd6f37"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1math_1_1RangeType.html">math::RangeType</a>&lt;<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a>&gt; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::RangeDistance </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt; &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>Return the minimum and maximum distance to another node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00450">450</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00304">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Bound()</a>.</p>
</div>
</div>
<a class="anchor" id="a95bee6fc9977cf83afc2cc5294619308"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<div class="memtemplate">
template&lt;typename VecType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1math_1_1RangeType.html">math::RangeType</a>&lt;<a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a>&gt; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::RangeDistance </td>
<td>(</td>
<td class="paramtype">const VecType &amp;&#160;</td>
<td class="paramname"><em>point</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">typename <a class="el" href="namespacestd.html#ac774dbdf8ae769197167b2a8273462fc">std::enable_if_t</a>&lt; <a class="el" href="structIsVector.html">IsVector</a>&lt; VecType &gt;::value &gt; *&#160;</td>
<td class="paramname"> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Return the minimum and maximum distance to another point. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00476">476</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="abc46ccbcdd25d2907042c02aa969286e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>* <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Right </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>Gets the right child of this node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00322">322</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00068">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::right</a>.</p>
</div>
</div>
<a class="anchor" id="a348fb083c7711cce7cbb1a3df65d661a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>*&amp; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Right </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Modify the right child of this node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00324">324</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00068">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::right</a>.</p>
</div>
</div>
<a class="anchor" id="ab95f82ba85224db2c4c002320813aeee"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<div class="memtemplate">
template&lt;typename Archive &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Serialize </td>
<td>(</td>
<td class="paramtype">Archive &amp;&#160;</td>
<td class="paramname"><em>ar</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned int&#160;</td>
<td class="paramname"><em>version</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Serialize the tree. </p>
</div>
</div>
<a class="anchor" id="a359804f7939de9bda4d011e25609c3da"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::SplitNode </td>
<td>(</td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>maxLeafSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">SplitType&lt; BoundType&lt; MetricType &gt;, MatType &gt; &amp;&#160;</td>
<td class="paramname"><em>splitter</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">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Splits the current node, assigning its left and right children recursively. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">maxLeafSize</td><td>Maximum number of points held in a leaf. </td></tr>
<tr><td class="paramname">splitter</td><td>Instantiated SplitType object. </td></tr>
</table>
</dd>
</dl>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00493">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Center()</a>.</p>
</div>
</div>
<a class="anchor" id="ad458708a10ab1d557dd2de5feae8cc05"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::SplitNode </td>
<td>(</td>
<td class="paramtype">std::vector&lt; size_t &gt; &amp;&#160;</td>
<td class="paramname"><em>oldFromNew</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>maxLeafSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">SplitType&lt; BoundType&lt; MetricType &gt;, MatType &gt; &amp;&#160;</td>
<td class="paramname"><em>splitter</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">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Splits the current node, assigning its left and right children recursively. </p>
<p>Also returns a list of the changed indices.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">oldFromNew</td><td>Vector holding permuted indices. </td></tr>
<tr><td class="paramname">maxLeafSize</td><td>Maximum number of points held in a leaf. </td></tr>
<tr><td class="paramname">splitter</td><td>Instantiated SplitType object. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a54d70c2f89b0578a80925f6fcea7dc6e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const StatisticType&amp; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Stat </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>Return the statistic object for this node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00309">309</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00080">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::stat</a>.</p>
</div>
</div>
<a class="anchor" id="a683b56dae5c4d17ea6de59ee64219b17"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">StatisticType&amp; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Stat </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the statistic object for this node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00311">311</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>References <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#ad5cda936d6f2cc112d357fcd2acaa785">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::IsLeaf()</a>, and <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00080">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::stat</a>.</p>
</div>
</div>
<a class="anchor" id="a773ea7548ad7ddba6265e242bceb2221"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<div class="memtemplate">
template&lt;typename BoundType2 &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::UpdateBound </td>
<td>(</td>
<td class="paramtype">BoundType2 &amp;&#160;</td>
<td class="paramname"><em>boundToUpdate</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Update the bound of the current node. </p>
<p>This method does not take into account bound-specific properties.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">boundToUpdate</td><td>The bound to update. </td></tr>
</table>
</dd>
</dl>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00493">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Center()</a>.</p>
</div>
</div>
<a class="anchor" id="a2ef5d210b25f800a87112c2e1d565688"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::UpdateBound </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmlpack_1_1bound_1_1HollowBallBound.html">bound::HollowBallBound</a>&lt; MetricType &gt; &amp;&#160;</td>
<td class="paramname"><em>boundToUpdate</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Update the bound of the current node. </p>
<p>This method is designed for HollowBallBound only.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">boundToUpdate</td><td>The bound to update. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="af040cc83b8f5086e5dae3ad269435238"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::begin</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The index of the first point in the dataset contained in this node (and its children). </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00073">73</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00483">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Begin()</a>.</p>
</div>
</div>
<a class="anchor" id="a989e92e4ca3e6eb1943e394cd0cf6123"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">BoundType&lt;MetricType&gt; <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::bound</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The bound object for this node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00078">78</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00304">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Bound()</a>.</p>
</div>
</div>
<a class="anchor" id="a858649909a8a1dc833a60034e85f5a55"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::count</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of points of the dataset contained in this node (and its children). </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00076">76</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00488">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Count()</a>.</p>
</div>
</div>
<a class="anchor" id="a2ae04b81295704fd05c0442308291f81"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">MatType* <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::dataset</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The dataset. </p>
<p>If we are the root of the tree, we own the dataset and must delete it. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00090">90</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00332">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Dataset()</a>.</p>
</div>
</div>
<a class="anchor" id="a5ce6e105067f681d45ff65aaac388c90"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a> <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::furthestDescendantDistance</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The worst possible distance to the furthest descendant, cached to speed things up. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00085">85</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="acab6f54be9e548cf8b381a76587e72c5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>* <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::left</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The left child node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00066">66</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00317">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Left()</a>.</p>
</div>
</div>
<a class="anchor" id="af1c6cf1c39d8f5fef58ad2b882f15b36"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a> <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::minimumBoundDistance</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The minimum distance from the center to any edge of the bound. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00087">87</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="a5d32df7d289d19f3ac067490633e3073"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>* <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::parent</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The parent node (NULL if this is the root of the tree). </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00070">70</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00327">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Parent()</a>.</p>
</div>
</div>
<a class="anchor" id="a5b75bc715e51a56b80b82303819035a1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html#a45c13c579558efc3210ea11dedc6f4ed">ElemType</a> <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::parentDistance</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The distance from the centroid of this node to the centroid of the parent. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00082">82</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00392">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::ParentDistance()</a>.</p>
</div>
</div>
<a class="anchor" id="a8fe71cdc33cdbe0f740d533d4058fb2e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">BinarySpaceTree</a>* <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::right</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The right child node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00068">68</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00405">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::ChildPtr()</a>, and <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00322">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Right()</a>.</p>
</div>
</div>
<a class="anchor" id="a5ec54f09a2a94c8735a5b5a8fb19a447"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MetricType , typename StatisticType = EmptyStatistic, typename MatType = arma::mat, template&lt; typename BoundMetricType, typename... &gt; class BoundType = bound::HRectBound, template&lt; typename SplitBoundType, typename SplitMatType &gt; class SplitType = MidpointSplit&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">StatisticType <a class="el" href="classmlpack_1_1tree_1_1BinarySpaceTree.html">mlpack::tree::BinarySpaceTree</a>&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::stat</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Any extra data contained in the node. </p>
<p>Definition at line <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00080">80</a> of file <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a>.</p>
<p>Referenced by <a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html#l00309">mlpack::tree::BinarySpaceTree&lt; MetricType, StatisticType, MatType, BoundType, SplitType &gt;::Stat()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/mlpack/core/tree/binary_space_tree/<a class="el" href="binary__space__tree_2binary__space__tree_8hpp_source.html">binary_space_tree.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated 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>
<script type="text/javascript">
var x = document.getElementsByClassName("formulaDsp");
var i;
for (i = 0; i < x.length; i++)
{
x[i].width /= 4;
}
</script>
</html>