From: Mukund Sivaraman Date: Fri, 6 Sep 2013 05:37:42 +0000 (+0530) Subject: [2750] Remove excess wrapper methods X-Git-Tag: bind10-1.2.0beta1-release~193^2~4^2~11 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9eeab2e6b02fcf316b81bcc72c0dadef84b9a07d;p=thirdparty%2Fkea.git [2750] Remove excess wrapper methods --- diff --git a/src/lib/datasrc/memory/domaintree.h b/src/lib/datasrc/memory/domaintree.h index 4f7f71a430..7d5bc0e542 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 - static TT* - abstractSuccessorImpl(TT* node, - typename DomainTreeNode::DomainTreeNodePtr - DomainTreeNode::*left, - typename DomainTreeNode::DomainTreeNodePtr - DomainTreeNode::*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* - abstractSuccessor(typename DomainTreeNode::DomainTreeNodePtr - DomainTreeNode::*left, + template + static TT* + abstractSuccessor(TT* node, typename DomainTreeNode::DomainTreeNodePtr - DomainTreeNode::*right); - - /// \brief private shared implementation of successor and - /// predecessor (const variant) - const DomainTreeNode* - abstractSuccessor(typename DomainTreeNode::DomainTreeNodePtr DomainTreeNode::*left, typename DomainTreeNode::DomainTreeNodePtr - DomainTreeNode::*right) - const; + DomainTreeNode::*right); /// \name Data to maintain the rbtree structure. /// @@ -838,7 +821,7 @@ DomainTreeNode::getAbsoluteLabels( template template TT* -DomainTreeNode::abstractSuccessorImpl(TT* node, +DomainTreeNode::abstractSuccessor(TT* node, typename DomainTreeNode::DomainTreeNodePtr DomainTreeNode::*left, typename DomainTreeNode::DomainTreeNodePtr DomainTreeNode::*right) { @@ -875,54 +858,34 @@ DomainTreeNode::abstractSuccessorImpl(TT* node, } } -template -DomainTreeNode* -DomainTreeNode::abstractSuccessor( - typename DomainTreeNode::DomainTreeNodePtr DomainTreeNode::*left, - typename DomainTreeNode::DomainTreeNodePtr DomainTreeNode::*right) -{ - return (abstractSuccessorImpl >(this, left, right)); -} - -template -const DomainTreeNode* -DomainTreeNode::abstractSuccessor( - typename DomainTreeNode::DomainTreeNodePtr DomainTreeNode::*left, - typename DomainTreeNode::DomainTreeNodePtr DomainTreeNode::*right) - const -{ - return (abstractSuccessorImpl > - (this, left, right)); -} - template DomainTreeNode* DomainTreeNode::successor() { - return (abstractSuccessor(&DomainTreeNode::left_, - &DomainTreeNode::right_)); + return (abstractSuccessor > + (this, &DomainTreeNode::left_, &DomainTreeNode::right_)); } template const DomainTreeNode* DomainTreeNode::successor() const { - return (abstractSuccessor(&DomainTreeNode::left_, - &DomainTreeNode::right_)); + return (abstractSuccessor > + (this, &DomainTreeNode::left_, &DomainTreeNode::right_)); } template DomainTreeNode* DomainTreeNode::predecessor() { // Swap the left and right pointers for the abstractSuccessor - return (abstractSuccessor(&DomainTreeNode::right_, - &DomainTreeNode::left_)); + return (abstractSuccessor > + (this, &DomainTreeNode::right_, &DomainTreeNode::left_)); } template const DomainTreeNode* DomainTreeNode::predecessor() const { // Swap the left and right pointers for the abstractSuccessor - return (abstractSuccessor(&DomainTreeNode::right_, - &DomainTreeNode::left_)); + return (abstractSuccessor > + (this, &DomainTreeNode::right_, &DomainTreeNode::left_)); } /// \brief DomainTreeNodeChain stores detailed information of \c