BIND 10 trac2750, updated. 7f0bb9294f71b325836f3c4fd8989b382627c19a [2750] Add getSibling() method

BIND 10 source code commits bind10-changes at lists.isc.org
Mon Aug 26 02:59:46 UTC 2013


The branch, trac2750 has been updated
       via  7f0bb9294f71b325836f3c4fd8989b382627c19a (commit)
       via  c369c2c9a3bcb252843bd25680627484486b8802 (commit)
      from  3674f8287a482a77b9bc2f8a0f161ce2dc4e3f9f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 7f0bb9294f71b325836f3c4fd8989b382627c19a
Author: Mukund Sivaraman <muks at isc.org>
Date:   Mon Aug 26 08:27:12 2013 +0530

    [2750] Add getSibling() method

commit c369c2c9a3bcb252843bd25680627484486b8802
Author: Mukund Sivaraman <muks at isc.org>
Date:   Mon Aug 26 08:21:27 2013 +0530

    [2750] Add proto for a method to delete a tree node

-----------------------------------------------------------------------

Summary of changes:
 src/lib/datasrc/memory/domaintree.h |   42 ++++++++++++++++++++++++++++++++++-
 1 file changed, 41 insertions(+), 1 deletion(-)

-----------------------------------------------------------------------
diff --git a/src/lib/datasrc/memory/domaintree.h b/src/lib/datasrc/memory/domaintree.h
index 275e227..6822e2a 100644
--- a/src/lib/datasrc/memory/domaintree.h
+++ b/src/lib/datasrc/memory/domaintree.h
@@ -569,6 +569,22 @@ private:
         }
     }
 
+    /// \brief Access sibling node as bare pointer.
+    ///
+    /// A sibling node is defined as the parent's other child. It exists
+    /// at the same level as this node.
+    ///
+    /// \return the sibling node if one exists, NULL otherwise.
+    DomainTreeNode<T>* getSibling() {
+        DomainTreeNode<T>* parent = getParent();
+
+        if (parent->getLeft() == this) {
+            return (parent->getRight());
+        } else {
+            return (parent->getLeft());
+        }
+    }
+
     /// \brief Access uncle node as bare pointer.
     ///
     /// An uncle node is defined as the parent node's sibling. It exists
@@ -1527,13 +1543,29 @@ public:
     Result insert(util::MemorySegment& mem_sgmt, const isc::dns::Name& name,
                   DomainTreeNode<T>** inserted_node);
 
+    /// \brief Delete a tree node.
+    ///
+    /// \throw none.
+    ///
+    /// \param mem_sgmt The \c MemorySegment object used to insert the nodes
+    /// (which was also used for creating the tree due to the requirement of
+    /// \c insert()).
+    /// \param node The node to delete.
+    /// \param deleter The \c DataDeleter used to destroy data stored in
+    /// the tree nodes.
+    template <typename DataDeleter>
+    void remove(util::MemorySegment& mem_sgmt, DomainTreeNode<T>* node,
+                DataDeleter deleter);
+
     /// \brief Delete all tree nodes.
     ///
     /// \throw none.
     ///
     /// \param mem_sgmt The \c MemorySegment object used to insert the nodes
     /// (which was also used for creating the tree due to the requirement of
-    /// \c inert()).
+    /// \c insert()).
+    /// \param deleter The \c DataDeleter used to destroy data stored in
+    /// the tree nodes.
     template <typename DataDeleter>
     void deleteAllNodes(util::MemorySegment& mem_sgmt, DataDeleter deleter);
 
@@ -2069,6 +2101,14 @@ DomainTree<T>::insert(util::MemorySegment& mem_sgmt,
 template <typename T>
 template <typename DataDeleter>
 void
+DomainTree<T>::remove(util::MemorySegment& mem_sgmt, DomainTreeNode<T>* node,
+                      DataDeleter deleter)
+{
+}
+
+template <typename T>
+template <typename DataDeleter>
+void
 DomainTree<T>::deleteAllNodes(util::MemorySegment& mem_sgmt,
                               DataDeleter deleter)
 {



More information about the bind10-changes mailing list