MLPACK
1.0.4
|
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