* Added assignment operators.

* Some automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34783 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold 2009-12-27 15:19:17 +00:00
parent cd9c31cc1a
commit 6afe50d424

View File

@ -1,5 +1,5 @@
/*
* Copyright 2008, Ingo Weinhold <ingo_weinhold@gmx.de>.
* Copyright 2008-2009, Ingo Weinhold <ingo_weinhold@gmx.de>.
* Distributed under the terms of the MIT License.
*
* Original Java implementation:
@ -23,12 +23,12 @@
struct SplayTreeDefinition {
typedef xxx KeyType;
typedef yyy NodeType;
static const KeyType& GetKey(const NodeType* node);
static SplayTreeLink<NodeType>* GetLink(NodeType* node);
static int Compare(const KeyType& key, const NodeType* node);
// for IteratableSplayTree only
static NodeType** GetListLink(NodeType* node);
};
@ -255,16 +255,22 @@ public:
return closestNode;
}
SplayTree& operator=(const SplayTree& other)
{
fRoot = other.fRoot;
return *this;
}
private:
/*!
Internal method to perform a top-down splay.
_Splay(key) does the splay operation on the given key.
If key is in the tree, then the node containing
that key becomes the root. If key is not in the tree,
then after the splay, key.root is either the greatest key
< key in the tree, or the least key > key in the tree.
This means, among other things, that if you splay with
a key that's larger than any in the tree, the rightmost
node of the tree becomes the root. This property is used
@ -587,6 +593,13 @@ public:
return ConstIterator(this, FindClosest(key, greater, orEqual));
}
IteratableSplayTree& operator=(const IteratableSplayTree& other)
{
fTree = other.fTree;
fFirst = other.fFirst;
return *this;
}
protected:
friend class Iterator;
friend class ConstIterator;