BIND 10 trac2750, updated. 9eeab2e6b02fcf316b81bcc72c0dadef84b9a07d [2750] Remove excess wrapper methods

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Sep 6 05:38:50 UTC 2013


The branch, trac2750 has been updated
       via  9eeab2e6b02fcf316b81bcc72c0dadef84b9a07d (commit)
      from  63a7f8bf4e61b69fd29a189f9bc683b5de0ce57b (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 9eeab2e6b02fcf316b81bcc72c0dadef84b9a07d
Author: Mukund Sivaraman <muks at isc.org>
Date:   Fri Sep 6 11:07:42 2013 +0530

    [2750] Remove excess wrapper methods

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

Summary of changes:
 src/lib/datasrc/memory/domaintree.h |   63 ++++++++---------------------------
 1 file changed, 13 insertions(+), 50 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/lib/datasrc/memory/domaintree.h b/src/lib/datasrc/memory/domaintree.h
index 4f7f71a..7d5bc0e 100644
--- a/src/lib/datasrc/memory/domaintree.h
+++ b/src/lib/datasrc/memory/domaintree.h
@@ -497,16 +497,6 @@ public:
     }
 
 private:
-    /// \brief Static helper function used by const and non-const
-    /// variants of abstractSuccessor()
-    template <typename TT>
-    static TT*
-    abstractSuccessorImpl(TT* node,
-                          typename DomainTreeNode<T>::DomainTreeNodePtr
-                              DomainTreeNode<T>::*left,
-                          typename DomainTreeNode<T>::DomainTreeNodePtr
-                              DomainTreeNode<T>::*right);
-
     /// \brief private shared implementation of successor and predecessor
     ///
     /// As the two mentioned functions are merely mirror images of each other,
@@ -518,20 +508,13 @@ private:
     /// The overhead of the member pointers should be optimised out, as this
     /// will probably get completely inlined into predecessor and successor
     /// methods.
-    DomainTreeNode<T>*
-    abstractSuccessor(typename DomainTreeNode<T>::DomainTreeNodePtr
-                          DomainTreeNode<T>::*left,
+    template <typename TT>
+    static TT*
+    abstractSuccessor(TT* node,
                       typename DomainTreeNode<T>::DomainTreeNodePtr
-                          DomainTreeNode<T>::*right);
-
-    /// \brief private shared implementation of successor and
-    /// predecessor (const variant)
-    const DomainTreeNode<T>*
-    abstractSuccessor(typename DomainTreeNode<T>::DomainTreeNodePtr
                           DomainTreeNode<T>::*left,
                       typename DomainTreeNode<T>::DomainTreeNodePtr
-                          DomainTreeNode<T>::*right)
-        const;
+                          DomainTreeNode<T>::*right);
 
     /// \name Data to maintain the rbtree structure.
     ///
@@ -838,7 +821,7 @@ DomainTreeNode<T>::getAbsoluteLabels(
 template <typename T>
 template <typename TT>
 TT*
-DomainTreeNode<T>::abstractSuccessorImpl(TT* node,
+DomainTreeNode<T>::abstractSuccessor(TT* node,
     typename DomainTreeNode<T>::DomainTreeNodePtr DomainTreeNode<T>::*left,
     typename DomainTreeNode<T>::DomainTreeNodePtr DomainTreeNode<T>::*right)
 {
@@ -877,52 +860,32 @@ DomainTreeNode<T>::abstractSuccessorImpl(TT* node,
 
 template <typename T>
 DomainTreeNode<T>*
-DomainTreeNode<T>::abstractSuccessor(
-    typename DomainTreeNode<T>::DomainTreeNodePtr DomainTreeNode<T>::*left,
-    typename DomainTreeNode<T>::DomainTreeNodePtr DomainTreeNode<T>::*right)
-{
-    return (abstractSuccessorImpl<DomainTreeNode<T> >(this, left, right));
-}
-
-template <typename T>
-const DomainTreeNode<T>*
-DomainTreeNode<T>::abstractSuccessor(
-    typename DomainTreeNode<T>::DomainTreeNodePtr DomainTreeNode<T>::*left,
-    typename DomainTreeNode<T>::DomainTreeNodePtr DomainTreeNode<T>::*right)
-    const
-{
-    return (abstractSuccessorImpl<const DomainTreeNode<T> >
-            (this, left, right));
-}
-
-template <typename T>
-DomainTreeNode<T>*
 DomainTreeNode<T>::successor() {
-    return (abstractSuccessor(&DomainTreeNode<T>::left_,
-                              &DomainTreeNode<T>::right_));
+    return (abstractSuccessor<DomainTreeNode<T> >
+            (this, &DomainTreeNode<T>::left_, &DomainTreeNode<T>::right_));
 }
 
 template <typename T>
 const DomainTreeNode<T>*
 DomainTreeNode<T>::successor() const {
-    return (abstractSuccessor(&DomainTreeNode<T>::left_,
-                              &DomainTreeNode<T>::right_));
+    return (abstractSuccessor<const DomainTreeNode<T> >
+            (this, &DomainTreeNode<T>::left_, &DomainTreeNode<T>::right_));
 }
 
 template <typename T>
 DomainTreeNode<T>*
 DomainTreeNode<T>::predecessor() {
     // Swap the left and right pointers for the abstractSuccessor
-    return (abstractSuccessor(&DomainTreeNode<T>::right_,
-                              &DomainTreeNode<T>::left_));
+    return (abstractSuccessor<DomainTreeNode<T> >
+            (this, &DomainTreeNode<T>::right_, &DomainTreeNode<T>::left_));
 }
 
 template <typename T>
 const DomainTreeNode<T>*
 DomainTreeNode<T>::predecessor() const {
     // Swap the left and right pointers for the abstractSuccessor
-    return (abstractSuccessor(&DomainTreeNode<T>::right_,
-                              &DomainTreeNode<T>::left_));
+    return (abstractSuccessor<const DomainTreeNode<T> >
+            (this, &DomainTreeNode<T>::right_, &DomainTreeNode<T>::left_));
 }
 
 /// \brief DomainTreeNodeChain stores detailed information of \c



More information about the bind10-changes mailing list