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
21namespace mlpack {
22namespace tree {
23
24template<typename MetricType,
25 typename StatisticType,
26 typename MatType,
27 template<typename BoundMetricType, typename...> class BoundType,
28 template<typename SplitBoundType, typename SplitMatType>
29 class SplitType>
30template<typename RuleType>
31class 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
Definition of generalized binary space partitioning tree (BinarySpaceTree).
A single-tree traverser for binary space trees; see single_tree_traverser.hpp for implementation.
size_t NumPrunes() const
Get the number of prunes.
void Traverse(const size_t queryIndex, BinarySpaceTree &referenceNode)
Traverse the tree with the given point.
size_t & NumPrunes()
Modify the number of prunes.
SingleTreeTraverser(RuleType &rule)
Instantiate the single tree traverser with the given rule set.
A binary space partitioning tree, such as a KD-tree or a ball tree.
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
The core includes that mlpack expects; standard C++ includes and Armadillo.