A binary space partitioning tree, such as a KDtree or a ball tree. More...
Classes  
class  BreadthFirstDualTreeTraverser 
class  DualTreeTraverser 
A dualtree traverser for binary space trees; see dual_tree_traverser.hpp. More...  
class  SingleTreeTraverser 
A singletree traverser for binary space trees; see single_tree_traverser.hpp for implementation. More...  
Public Types  
typedef MatType::elem_type  ElemType 
The type of element held in MatType. More...  
typedef MatType  Mat 
So other classes can use TreeType::Mat. More...  
typedef SplitType< BoundType< MetricType >, MatType >  Split 
Public Member Functions  
BinarySpaceTree (const MatType &data, const size_t maxLeafSize=20)  
Construct this as the root node of a binary space tree using the given dataset. More...  
BinarySpaceTree (const MatType &data, std::vector< size_t > &oldFromNew, const size_t maxLeafSize=20)  
Construct this as the root node of a binary space tree using the given dataset. More...  
BinarySpaceTree (const MatType &data, std::vector< size_t > &oldFromNew, std::vector< size_t > &newFromOld, const size_t maxLeafSize=20)  
Construct this as the root node of a binary space tree using the given dataset. More...  
BinarySpaceTree (MatType &&data, const size_t maxLeafSize=20)  
Construct this as the root node of a binary space tree using the given dataset. More...  
BinarySpaceTree (MatType &&data, std::vector< size_t > &oldFromNew, const size_t maxLeafSize=20)  
Construct this as the root node of a binary space tree using the given dataset. More...  
BinarySpaceTree (MatType &&data, std::vector< size_t > &oldFromNew, std::vector< size_t > &newFromOld, const size_t maxLeafSize=20)  
Construct this as the root node of a binary space tree using the given dataset. More...  
BinarySpaceTree (BinarySpaceTree *parent, const size_t begin, const size_t count, SplitType< BoundType< MetricType >, MatType > &splitter, const size_t maxLeafSize=20)  
Construct this node as a child of the given parent, starting at column begin and using count points. More...  
BinarySpaceTree (BinarySpaceTree *parent, const size_t begin, const size_t count, std::vector< size_t > &oldFromNew, SplitType< BoundType< MetricType >, MatType > &splitter, const size_t maxLeafSize=20)  
Construct this node as a child of the given parent, starting at column begin and using count points. More...  
BinarySpaceTree (BinarySpaceTree *parent, const size_t begin, const size_t count, std::vector< size_t > &oldFromNew, std::vector< size_t > &newFromOld, SplitType< BoundType< MetricType >, MatType > &splitter, const size_t maxLeafSize=20)  
Construct this node as a child of the given parent, starting at column begin and using count points. More...  
BinarySpaceTree (const BinarySpaceTree &other)  
Create a binary space tree by copying the other tree. More...  
BinarySpaceTree (BinarySpaceTree &&other)  
Move constructor for a BinarySpaceTree; possess all the members of the given tree. More...  
template < typename Archive >  
BinarySpaceTree (Archive &ar, const typename std::enable_if_t< cereal::is_loading< Archive >()> *=0)  
Initialize the tree from a cereal archive. More...  
~BinarySpaceTree ()  
Deletes this node, deallocating the memory for the children and calling their destructors in turn. More...  
size_t  Begin () const 
Return the index of the beginning point of this subset. More...  
size_t &  Begin () 
Modify the index of the beginning point of this subset. More...  
const BoundType< MetricType > &  Bound () const 
Return the bound object for this node. More...  
BoundType< MetricType > &  Bound () 
Return the bound object for this node. More...  
void  Center (arma::vec ¢er) const 
Store the center of the bounding region in the given vector. More...  
BinarySpaceTree &  Child (const size_t child) const 
Return the specified child (0 will be left, 1 will be right). More...  
BinarySpaceTree *&  ChildPtr (const size_t child) 
size_t  Count () const 
Return the number of points in this subset. More...  
size_t &  Count () 
Modify the number of points in this subset. More...  
const MatType &  Dataset () const 
Get the dataset which the tree is built on. More...  
MatType &  Dataset () 
Modify the dataset which the tree is built on. Be careful! More...  
size_t  Descendant (const size_t index) const 
Return the index (with reference to the dataset) of a particular descendant of this node. More...  
ElemType  FurthestDescendantDistance () const 
Return the furthest possible descendant distance. More...  
ElemType  FurthestPointDistance () const 
Return the furthest distance to a point held in this node. More...  
template < typename VecType >  
size_t  GetFurthestChild (const VecType &point, typename std::enable_if_t< IsVector< VecType >::value > *=0) 
Return the index of the furthest child node to the given query point. More...  
size_t  GetFurthestChild (const BinarySpaceTree &queryNode) 
Return the index of the furthest child node to the given query node. More...  
template < typename VecType >  
size_t  GetNearestChild (const VecType &point, typename std::enable_if_t< IsVector< VecType >::value > *=0) 
Return the index of the nearest child node to the given query point. More...  
size_t  GetNearestChild (const BinarySpaceTree &queryNode) 
Return the index of the nearest child node to the given query node. More...  
bool  IsLeaf () const 
Return whether or not this node is a leaf (true if it has no children). More...  
BinarySpaceTree *  Left () const 
Gets the left child of this node. More...  
BinarySpaceTree *&  Left () 
Modify the left child of this node. More...  
ElemType  MaxDistance (const BinarySpaceTree &other) const 
Return the maximum distance to another node. More...  
template < typename VecType >  
ElemType  MaxDistance (const VecType &point, typename std::enable_if_t< IsVector< VecType >::value > *=0) const 
Return the maximum distance to another point. More...  
MetricType  Metric () const 
Get the metric that the tree uses. More...  
ElemType  MinDistance (const BinarySpaceTree &other) const 
Return the minimum distance to another node. More...  
template < typename VecType >  
ElemType  MinDistance (const VecType &point, typename std::enable_if_t< IsVector< VecType >::value > *=0) const 
Return the minimum distance to another point. More...  
ElemType  MinimumBoundDistance () const 
Return the minimum distance from the center of the node to any bound edge. More...  
size_t  NumChildren () const 
Return the number of children in this node. More...  
size_t  NumDescendants () const 
Return the number of descendants of this node. More...  
size_t  NumPoints () const 
Return the number of points in this node (0 if not a leaf). More...  
BinarySpaceTree &  operator= (const BinarySpaceTree &other) 
Copy the given BinarySaceTree. More...  
BinarySpaceTree &  operator= (BinarySpaceTree &&other) 
Take ownership of the given BinarySpaceTree. More...  
BinarySpaceTree *  Parent () const 
Gets the parent of this node. More...  
BinarySpaceTree *&  Parent () 
Modify the parent of this node. More...  
ElemType  ParentDistance () const 
Return the distance from the center of this node to the center of the parent node. More...  
ElemType &  ParentDistance () 
Modify the distance from the center of this node to the center of the parent node. More...  
size_t  Point (const size_t index) const 
Return the index (with reference to the dataset) of a particular point in this node. More...  
math::RangeType< ElemType >  RangeDistance (const BinarySpaceTree &other) const 
Return the minimum and maximum distance to another node. More...  
template < typename VecType >  
math::RangeType< ElemType >  RangeDistance (const VecType &point, typename std::enable_if_t< IsVector< VecType >::value > *=0) const 
Return the minimum and maximum distance to another point. More...  
BinarySpaceTree *  Right () const 
Gets the right child of this node. More...  
BinarySpaceTree *&  Right () 
Modify the right child of this node. More...  
template < typename Archive >  
void  serialize (Archive &ar, const uint32_t version) 
Serialize the tree. More...  
const StatisticType &  Stat () const 
Return the statistic object for this node. More...  
StatisticType &  Stat () 
Return the statistic object for this node. More...  
Protected Member Functions  
BinarySpaceTree ()  
A default constructor. More...  
A binary space partitioning tree, such as a KDtree or a ball tree.
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.
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.
This tree does take one runtime parameter in the constructor, which is the max leaf size to be used.
MetricType  The metric used for treebuilding. The BoundType may place restrictions on the metrics that can be used. 
StatisticType  Extra data contained in the node. See statistic.hpp for the necessary skeleton interface. 
MatType  The dataset class. 
BoundType  The bound used for each node. HRectBound, the default, requires that an LMetric<> is used for MetricType (so, EuclideanDistance, ManhattanDistance, etc.). 
SplitType  The class that partitions the dataset/points at a particular node into two parts. Its definition decides the way this split is done. 
Definition at line 54 of file binary_space_tree.hpp.
typedef MatType::elem_type ElemType 
The type of element held in MatType.
Definition at line 60 of file binary_space_tree.hpp.
typedef MatType Mat 
So other classes can use TreeType::Mat.
Definition at line 58 of file binary_space_tree.hpp.
typedef SplitType<BoundType<MetricType>, MatType> Split 
Definition at line 62 of file binary_space_tree.hpp.
BinarySpaceTree  (  const MatType &  data, 
const size_t  maxLeafSize = 20 

) 
Construct this as the root node of a binary space tree using the given dataset.
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().
data  Dataset to create tree from. This will be copied! 
maxLeafSize  Size of each leaf in the tree. 
BinarySpaceTree  (  const MatType &  data, 
std::vector< size_t > &  oldFromNew,  
const size_t  maxLeafSize = 20 

) 
Construct this as the root node of a binary space tree using the given dataset.
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().
data  Dataset to create tree from. This will be copied! 
oldFromNew  Vector which will be filled with the old positions for each new point. 
maxLeafSize  Size of each leaf in the tree. 
BinarySpaceTree  (  const MatType &  data, 
std::vector< size_t > &  oldFromNew,  
std::vector< size_t > &  newFromOld,  
const size_t  maxLeafSize = 20 

) 
Construct this as the root node of a binary space tree using the given dataset.
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().
data  Dataset to create tree from. This will be copied! 
oldFromNew  Vector which will be filled with the old positions for each new point. 
newFromOld  Vector which will be filled with the new positions for each old point. 
maxLeafSize  Size of each leaf in the tree. 
BinarySpaceTree  (  MatType &&  data, 
const size_t  maxLeafSize = 20 

) 
Construct this as the root node of a binary space tree using the given dataset.
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.
data  Dataset to create tree from. 
maxLeafSize  Size of each leaf in the tree. 
BinarySpaceTree  (  MatType &&  data, 
std::vector< size_t > &  oldFromNew,  
const size_t  maxLeafSize = 20 

) 
Construct this as the root node of a binary space tree using the given dataset.
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.
data  Dataset to create tree from. 
oldFromNew  Vector which will be filled with the old positions for each new point. 
maxLeafSize  Size of each leaf in the tree. 
BinarySpaceTree  (  MatType &&  data, 
std::vector< size_t > &  oldFromNew,  
std::vector< size_t > &  newFromOld,  
const size_t  maxLeafSize = 20 

) 
Construct this as the root node of a binary space tree using the given dataset.
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.
data  Dataset to create tree from. 
oldFromNew  Vector which will be filled with the old positions for each new point. 
newFromOld  Vector which will be filled with the new positions for each old point. 
maxLeafSize  Size of each leaf in the tree. 
BinarySpaceTree  (  BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType > *  parent, 
const size_t  begin,  
const size_t  count,  
SplitType< BoundType< MetricType >, MatType > &  splitter,  
const size_t  maxLeafSize = 20 

) 
Construct this node as a child of the given parent, starting at column begin and using count points.
The ordering of that subset of points in the parent's data matrix will be modified! This is used for recursive treebuilding by the other constructors which don't specify point indices.
parent  Parent of this node. Its dataset will be modified! 
begin  Index of point to start tree construction with. 
count  Number of points to use to construct tree. 
splitter  Instantiated node splitter object. 
maxLeafSize  Size of each leaf in the tree. 
BinarySpaceTree  (  BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType > *  parent, 
const size_t  begin,  
const size_t  count,  
std::vector< size_t > &  oldFromNew,  
SplitType< BoundType< MetricType >, MatType > &  splitter,  
const size_t  maxLeafSize = 20 

) 
Construct this node as a child of the given parent, starting at column begin and using count points.
The ordering of that subset of points in the parent's data matrix will be modified! This is used for recursive treebuilding by the other constructors which don't specify point indices.
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.
parent  Parent of this node. Its dataset will be modified! 
begin  Index of point to start tree construction with. 
count  Number of points to use to construct tree. 
oldFromNew  Vector which will be filled with the old positions for each new point. 
splitter  Instantiated node splitter object. 
maxLeafSize  Size of each leaf in the tree. 
BinarySpaceTree  (  BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType > *  parent, 
const size_t  begin,  
const size_t  count,  
std::vector< size_t > &  oldFromNew,  
std::vector< size_t > &  newFromOld,  
SplitType< BoundType< MetricType >, MatType > &  splitter,  
const size_t  maxLeafSize = 20 

) 
Construct this node as a child of the given parent, starting at column begin and using count points.
The ordering of that subset of points in the parent's data matrix will be modified! This is used for recursive treebuilding by the other constructors which don't specify point indices.
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.
parent  Parent of this node. Its dataset will be modified! 
begin  Index of point to start tree construction with. 
count  Number of points to use to construct tree. 
oldFromNew  Vector which will be filled with the old positions for each new point. 
newFromOld  Vector which will be filled with the new positions for each old point. 
splitter  Splitter matrix to use. 
maxLeafSize  Size of each leaf in the tree. 
BinarySpaceTree  (  const BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType > &  other  ) 
Create a binary space tree by copying the other tree.
Be careful! This can take a long time and use a lot of memory.
other  Tree to be copied. 
BinarySpaceTree  (  BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType > &&  other  ) 
Move constructor for a BinarySpaceTree; possess all the members of the given tree.
BinarySpaceTree  (  Archive &  ar, 
const typename std::enable_if_t< cereal::is_loading< Archive >()> *  = 0 

) 
Initialize the tree from a cereal archive.
ar  Archive to load tree from. Must be an iarchive, not an oarchive. 
~BinarySpaceTree  (  ) 
Deletes this node, deallocating the memory for the children and calling their destructors in turn.
This will invalidate any pointers or references to any nodes which are children of this one.

protected 
A default constructor.
This is meant to only be used with cereal, 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.
Referenced by BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::Center().

inline 
Return the index of the beginning point of this subset.
Definition at line 498 of file binary_space_tree.hpp.

inline 
Modify the index of the beginning point of this subset.
Definition at line 500 of file binary_space_tree.hpp.

inline 
Return the bound object for this node.
Definition at line 319 of file binary_space_tree.hpp.
Referenced by BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::MaxDistance(), BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::MinDistance(), and BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::RangeDistance().

inline 
Return the bound object for this node.
Definition at line 321 of file binary_space_tree.hpp.

inline 
Store the center of the bounding region in the given vector.
Definition at line 508 of file binary_space_tree.hpp.
References BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::BinarySpaceTree().
BinarySpaceTree& Child  (  const size_t  child  )  const 
Return the specified child (0 will be left, 1 will be right).
If the index is greater than 1, this will return the right child.
child  Index of child to return. 
Referenced by BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::ParentDistance().

inline 
Definition at line 420 of file binary_space_tree.hpp.
References BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::Descendant(), BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::NumDescendants(), BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::NumPoints(), and BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::Point().

inline 
Return the number of points in this subset.
Definition at line 503 of file binary_space_tree.hpp.
References core::v2::count().

inline 
Modify the number of points in this subset.
Definition at line 505 of file binary_space_tree.hpp.
References core::v2::count().

inline 
Get the dataset which the tree is built on.
Definition at line 347 of file binary_space_tree.hpp.

inline 
Modify the dataset which the tree is built on. Be careful!
Definition at line 349 of file binary_space_tree.hpp.
size_t Descendant  (  const size_t  index  )  const 
Return the index (with reference to the dataset) of a particular descendant of this node.
The index should be greater than zero but less than the number of descendants.
index  Index of the descendant. 
Referenced by BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::ChildPtr().
ElemType FurthestDescendantDistance  (  )  const 
Return the furthest possible descendant distance.
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).
Referenced by BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::Metric().
ElemType FurthestPointDistance  (  )  const 
Return the furthest distance to a point held in this node.
If this is not a leaf node, then the distance is 0 because the node holds no points.
Referenced by BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::Metric().
size_t GetFurthestChild  (  const VecType &  point, 
typename std::enable_if_t< IsVector< VecType >::value > *  = 0 

) 
Return the index of the furthest child node to the given query point.
If this is a leaf node, it will return NumChildren() (invalid index).
Referenced by BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::Metric().
size_t GetFurthestChild  (  const BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType > &  queryNode  ) 
Return the index of the furthest child node to the given query node.
If it can't decide, it will return NumChildren() (invalid index).
size_t GetNearestChild  (  const VecType &  point, 
typename std::enable_if_t< IsVector< VecType >::value > *  = 0 

) 
Return the index of the nearest child node to the given query point.
If this is a leaf node, it will return NumChildren() (invalid index).
Referenced by BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::Metric().
size_t GetNearestChild  (  const BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType > &  queryNode  ) 
Return the index of the nearest child node to the given query node.
If it can't decide, it will return NumChildren() (invalid index).
bool IsLeaf  (  )  const 
Return whether or not this node is a leaf (true if it has no children).
Referenced by BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::Stat().

inline 
Gets the left child of this node.
Definition at line 332 of file binary_space_tree.hpp.

inline 
Modify the left child of this node.
Definition at line 334 of file binary_space_tree.hpp.

inline 
Return the maximum distance to another node.
Definition at line 459 of file binary_space_tree.hpp.
References BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::Bound().

inline 
Return the maximum distance to another point.
Definition at line 481 of file binary_space_tree.hpp.

inline 
Get the metric that the tree uses.
Definition at line 352 of file binary_space_tree.hpp.
References BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::FurthestDescendantDistance(), BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::FurthestPointDistance(), BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::GetFurthestChild(), BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::GetNearestChild(), BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::MinimumBoundDistance(), and BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::NumChildren().

inline 
Return the minimum distance to another node.
Definition at line 453 of file binary_space_tree.hpp.
References BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::Bound().

inline 
Return the minimum distance to another point.
Definition at line 472 of file binary_space_tree.hpp.
ElemType MinimumBoundDistance  (  )  const 
Return the minimum distance from the center of the node to any bound edge.
Referenced by BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::Metric().
size_t NumChildren  (  )  const 
Return the number of children in this node.
Referenced by BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::Metric().
size_t NumDescendants  (  )  const 
Return the number of descendants of this node.
For a nonleaf 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.
Referenced by BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::ChildPtr().
size_t NumPoints  (  )  const 
Return the number of points in this node (0 if not a leaf).
Referenced by BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::ChildPtr().
BinarySpaceTree& operator=  (  const BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType > &  other  ) 
Copy the given BinarySaceTree.
other  The tree to be copied. 
BinarySpaceTree& operator=  (  BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType > &&  other  ) 
Take ownership of the given BinarySpaceTree.
other  The tree to take ownership of. 

inline 
Gets the parent of this node.
Definition at line 342 of file binary_space_tree.hpp.

inline 
Modify the parent of this node.
Definition at line 344 of file binary_space_tree.hpp.

inline 
Return the distance from the center of this node to the center of the parent node.
Definition at line 407 of file binary_space_tree.hpp.

inline 
Modify the distance from the center of this node to the center of the parent node.
Definition at line 410 of file binary_space_tree.hpp.
References BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::Child().
size_t Point  (  const size_t  index  )  const 
Return the index (with reference to the dataset) of a particular point in this node.
This will happily return invalid indices if the given index is greater than the number of points in this node (obtained with NumPoints()) – be careful.
index  Index of point for which a dataset index is wanted. 
Referenced by BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::ChildPtr().

inline 
Return the minimum and maximum distance to another node.
Definition at line 465 of file binary_space_tree.hpp.
References BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::Bound().

inline 
Return the minimum and maximum distance to another point.
Definition at line 491 of file binary_space_tree.hpp.

inline 
Gets the right child of this node.
Definition at line 337 of file binary_space_tree.hpp.

inline 
Modify the right child of this node.
Definition at line 339 of file binary_space_tree.hpp.
void serialize  (  Archive &  ar, 
const uint32_t  version  
) 
Serialize the tree.

inline 
Return the statistic object for this node.
Definition at line 324 of file binary_space_tree.hpp.

inline 
Return the statistic object for this node.
Definition at line 326 of file binary_space_tree.hpp.
References BinarySpaceTree< MetricType, StatisticType, MatType, BoundType, SplitType >::IsLeaf().