MLPACK  1.0.4
dual_tree_traverser.hpp
Go to the documentation of this file.
00001 
00025 #ifndef __MLPACK_CORE_TREE_BINARY_SPACE_TREE_DUAL_TREE_TRAVERSER_HPP
00026 #define __MLPACK_CORE_TREE_BINARY_SPACE_TREE_DUAL_TREE_TRAVERSER_HPP
00027 
00028 #include <mlpack/core.hpp>
00029 
00030 #include "binary_space_tree.hpp"
00031 
00032 namespace mlpack {
00033 namespace tree {
00034 
00035 template<typename BoundType, typename StatisticType, typename MatType>
00036 template<typename RuleType>
00037 class BinarySpaceTree<BoundType, StatisticType, MatType>::DualTreeTraverser
00038 {
00039  public:
00043   DualTreeTraverser(RuleType& rule);
00044 
00051   void Traverse(BinarySpaceTree& queryNode, BinarySpaceTree& referenceNode);
00052 
00054   size_t NumPrunes() const { return numPrunes; }
00056   size_t& NumPrunes() { return numPrunes; }
00057 
00058  private:
00060   RuleType& rule;
00061 
00063   size_t numPrunes;
00064 };
00065 
00066 }; // namespace tree
00067 }; // namespace mlpack
00068 
00069 // Include implementation.
00070 #include "dual_tree_traverser_impl.hpp"
00071 
00072 #endif // __MLPACK_CORE_TREE_BINARY_SPACE_TREE_DUAL_TREE_TRAVERSER_HPP
00073