/// This method never throws an exception.
const DomainTreeNode<T>* getSubTreeRoot() const;
- /// \brief returns the largest node of this node's subtree
- ///
- /// This method takes a node and returns the largest node in its
- /// subtree.
- ///
- /// This method never throws an exception.
- const DomainTreeNode<T>* getLargestInSubTree() const;
-
public:
/// \brief returns the parent of the root of its subtree
///
return (getSubTreeRoot()->getParent());
}
-template <typename T>
-const DomainTreeNode<T>*
-DomainTreeNode<T>::getLargestInSubTree() const {
- const DomainTreeNode<T>* sroot = getSubTreeRoot();
- while (sroot->getRight() != NULL) {
- sroot = sroot->getRight();
- }
-
- return (sroot);
-}
-
template <typename T>
isc::dns::LabelSequence
DomainTreeNode<T>::getAbsoluteLabels(
#if 0
-// Disabled and kept still, for use in case we make getSubTreeRoot() and
-// getLargestInSubTree() public functions again.
+// Disabled and kept still, for use in case we make getSubTreeRoot() a
+// public function again.
const char* const subtree_root_node_names[] = {
"b", "b", "b", "b", "w.y.d.e.f", "w.y.d.e.f", "p.w.y.d.e.f",
EXPECT_EQ(static_cast<void*>(NULL), node);
}
-const char* const largest_node_names[] = {
- "g.h", "g.h", "g.h", "g.h", "z.d.e.f", "z.d.e.f", "q.w.y.d.e.f",
- "q.w.y.d.e.f", "q.w.y.d.e.f", "z.d.e.f", "j.z.d.e.f",
- "g.h", "k.g.h", "k.g.h"};
-
-TEST_F(DomainTreeTest, getLargestInSubTree) {
- TestDomainTreeNodeChain node_path;
- const TestDomainTreeNode* node = NULL;
- EXPECT_EQ(TestDomainTree::EXACTMATCH,
- dtree_expose_empty_node.find(Name(names[0]),
- &node,
- node_path));
- for (int i = 0; i < name_count; ++i) {
- EXPECT_NE(static_cast<void*>(NULL), node);
-
- const TestDomainTreeNode* largest_node = node->getLargestInSubTree();
- if (largest_node_names[i] != NULL) {
- const TestDomainTreeNode* largest_node2 = NULL;
- EXPECT_EQ(TestDomainTree::EXACTMATCH,
- dtree_expose_empty_node.find(Name(largest_node_names[i]),
- &largest_node2));
- EXPECT_NE(static_cast<void*>(NULL), largest_node2);
- EXPECT_EQ(largest_node, largest_node2);
- } else {
- EXPECT_EQ(static_cast<void*>(NULL), largest_node);
- }
-
- node = dtree_expose_empty_node.nextNode(node_path);
- }
-
- // We should have reached the end of the tree.
- EXPECT_EQ(static_cast<void*>(NULL), node);
-}
-
-#endif // disabled getSubTreeRoot() and getLargestInSubTree()
+#endif // disabled getSubTreeRoot()
TEST_F(DomainTreeTest, nextNode) {