traits.hpp
Go to the documentation of this file.
1 
13 #ifndef MLPACK_CORE_TREE_SPILL_TREE_TRAITS_HPP
14 #define MLPACK_CORE_TREE_SPILL_TREE_TRAITS_HPP
15 
17 
18 namespace mlpack {
19 namespace tree {
20 
27 template<typename MetricType,
28  typename StatisticType,
29  typename MatType,
30  template<typename HyperplaneMetricType> class HyperplaneType,
31  template<typename SplitMetricType, typename SplitMatType>
32  class SplitType>
33 class TreeTraits<SpillTree<MetricType, StatisticType, MatType, HyperplaneType,
34  SplitType>>
35 {
36  public:
41  static const bool HasOverlappingChildren = true;
42 
46  static const bool FirstPointIsCentroid = false;
47 
51  static const bool HasSelfChildren = false;
52 
56  static const bool RearrangesDataset = false;
57 
61  static const bool BinaryTree = true;
62 
67  static const bool UniqueNumDescendants = false;
68 };
69 
70 } // namespace tree
71 } // namespace mlpack
72 
73 #endif
Linear algebra utility functions, generally performed on matrices or vectors.
static const bool BinaryTree
This is true if the tree always has only two children.
A hybrid spill tree is a variant of binary space trees in which the children of a node can "spill ove...
Definition: spill_tree.hpp:73
static const bool HasSelfChildren
This is true if the points contained in the first child of a node (Child(0)) are also contained in th...
static const bool RearrangesDataset
This is true if the tree rearranges points in the dataset when it is built.
static const bool FirstPointIsCentroid
This is true if the first point of each node is the centroid of its bound.
Definition: tree_traits.hpp:94
The TreeTraits class provides compile-time information on the characteristics of a given tree type...
Definition: tree_traits.hpp:77
static const bool HasOverlappingChildren
This is true if the subspaces represented by the children of a node can overlap.
Definition: tree_traits.hpp:84
static const bool UniqueNumDescendants
This is true if the NumDescendants() method doesn&#39;t include duplicated points.