spill_single_tree_traverser.hpp
Go to the documentation of this file.
1 
17 #ifndef MLPACK_CORE_TREE_SPILL_TREE_SPILL_SINGLE_TREE_TRAVERSER_HPP
18 #define MLPACK_CORE_TREE_SPILL_TREE_SPILL_SINGLE_TREE_TRAVERSER_HPP
19 
20 #include <mlpack/prereqs.hpp>
21 
22 #include "spill_tree.hpp"
23 
24 namespace mlpack {
25 namespace tree {
26 
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 template<typename RuleType, bool Defeatist>
34 class SpillTree<MetricType, StatisticType, MatType, HyperplaneType, SplitType>::
36 {
37  public:
41  SpillSingleTreeTraverser(RuleType& rule);
42 
52  void Traverse(const size_t queryIndex,
53  SpillTree& referenceNode,
54  const bool bruteForce = false);
55 
57  size_t NumPrunes() const { return numPrunes; }
59  size_t& NumPrunes() { return numPrunes; }
60 
61  private:
63  RuleType& rule;
64 
66  size_t numPrunes;
67 };
68 
69 } // namespace tree
70 } // namespace mlpack
71 
72 // Include implementation.
73 #include "spill_single_tree_traverser_impl.hpp"
74 
75 #endif
Linear algebra utility functions, generally performed on matrices or vectors.
The core includes that mlpack expects; standard C++ includes and Armadillo.
A generic single-tree traverser for hybrid spill trees; see spill_single_tree_traverser.hpp for implementation.
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
Definition of generalized hybrid spill tree (SpillTree).