mlpack  3.4.2
single_tree_traverser.hpp
Go to the documentation of this file.
1 
14 #ifndef MLPACK_CORE_TREE_BINARY_SPACE_TREE_SINGLE_TREE_TRAVERSER_HPP
15 #define MLPACK_CORE_TREE_BINARY_SPACE_TREE_SINGLE_TREE_TRAVERSER_HPP
16 
17 #include <mlpack/prereqs.hpp>
18 
19 #include "binary_space_tree.hpp"
20 
21 namespace mlpack {
22 namespace tree {
23 
24 template<typename MetricType,
25  typename StatisticType,
26  typename MatType,
27  template<typename BoundMetricType, typename...> class BoundType,
28  template<typename SplitBoundType, typename SplitMatType>
29  class SplitType>
30 template<typename RuleType>
31 class BinarySpaceTree<MetricType, StatisticType, MatType, BoundType,
32  SplitType>::SingleTreeTraverser
33 {
34  public:
38  SingleTreeTraverser(RuleType& rule);
39 
47  void Traverse(const size_t queryIndex, BinarySpaceTree& referenceNode);
48 
50  size_t NumPrunes() const { return numPrunes; }
52  size_t& NumPrunes() { return numPrunes; }
53 
54  private:
56  RuleType& rule;
57 
59  size_t numPrunes;
60 };
61 
62 } // namespace tree
63 } // namespace mlpack
64 
65 // Include implementation.
66 #include "single_tree_traverser_impl.hpp"
67 
68 #endif
prereqs.hpp
The core includes that mlpack expects; standard C++ includes and Armadillo.
mlpack::tree::BinarySpaceTree::SingleTreeTraverser::NumPrunes
size_t & NumPrunes()
Modify the number of prunes.
Definition: single_tree_traverser.hpp:52
mlpack::tree::BinarySpaceTree
A binary space partitioning tree, such as a KD-tree or a ball tree.
Definition: binary_space_tree.hpp:55
mlpack
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: add_to_cli11.hpp:21
mlpack::tree::BinarySpaceTree::SingleTreeTraverser
A single-tree traverser for binary space trees; see single_tree_traverser.hpp for implementation.
Definition: single_tree_traverser.hpp:33
mlpack::tree::BinarySpaceTree::SingleTreeTraverser::NumPrunes
size_t NumPrunes() const
Get the number of prunes.
Definition: single_tree_traverser.hpp:50
binary_space_tree.hpp
mlpack::tree::BinarySpaceTree::SingleTreeTraverser::SingleTreeTraverser
SingleTreeTraverser(RuleType &rule)
Instantiate the single tree traverser with the given rule set.
mlpack::tree::BinarySpaceTree::SingleTreeTraverser::Traverse
void Traverse(const size_t queryIndex, BinarySpaceTree &referenceNode)
Traverse the tree with the given point.