AVLTree: forward LeftMost and RightMost method from AVLTreeBase

Signed-off-by: Augustin Cavalier <[email protected]>
This commit is contained in:
hyche
2017-12-10 10:56:08 -05:00
committed by Augustin Cavalier
parent d87218f79e
commit e715614613
+27
View File
@@ -47,6 +47,9 @@ public:
Value* Previous(Value* value) const;
Value* Next(Value* value) const;
Value* LeftMost(Value* value) const;
Value* RightMost(Value* value) const;
inline Iterator GetIterator();
inline ConstIterator GetIterator() const;
@@ -255,6 +258,30 @@ AVLTree<Definition>::Next(Value* value) const
}
template<typename Definition>
inline typename AVLTree<Definition>::Value*
AVLTree<Definition>::LeftMost(Value* value) const
{
if (value == NULL)
return NULL;
AVLTreeNode* node = fTree.LeftMost(_GetAVLTreeNode(value));
return node != NULL ? _GetValue(node) : NULL;
}
template<typename Definition>
inline typename AVLTree<Definition>::Value*
AVLTree<Definition>::RightMost(Value* value) const
{
if (value == NULL)
return NULL;
AVLTreeNode* node = fTree.RightMost(_GetAVLTreeNode(value));
return node != NULL ? _GetValue(node) : NULL;
}
template<typename Definition>
inline typename AVLTree<Definition>::Iterator
AVLTree<Definition>::GetIterator()