|
Scala
1.2.0.1 |
|||
Field Summary | |
abstract
|
type This
The type returned when creating a new tree. |
protected
|
type aNode
The type of nodes that the tree is build from. |
protected
|
val tree: GBTree[A,B]
The nodes in the tree. |
Method Summary | |
protected abstract
|
def New(sz: Int, t: GBTree[A,B]): This
This abstract method should be defined by a concrete implementation C[T] as something like: override def New(sz:Int,t:aNode):This { new C[T](order) { override def size=sz; override protected val tree:aNode=t; }The concrete implementation should also override the def of This override type This = C[T];
|
def add(key: A, entry: B): This
A new tree with the entry added is returned, assuming that key is not in the tree. |
|
def balance: This
Create a new balanced tree from the tree. |
|
protected
|
def balance_list(list: List[B], s: Int): GBTree[A,B]
|
protected
|
def balance_list_1(list: List[B], s: Int): Tuple2[GBTree[A,B],List[B]]
|
def delete_any(key: A): This
Removes the key from the tree. |
|
def entries: Iterator[B]
Gives you an iterator over all elements in the tree. |
|
abstract
|
def entryKey(entry: B): A
Returns the key of an entry. |
def findValue(key: A): Option[B]
Check if this map maps key to a value and return the
value if it exists.
|
|
def is_defined(key: A): Boolean
Is the given key mapped to a value by this map? |
|
def size: Int
The size of the tree, returns 0 (zero) if the tree is empty. |
|
def update_or_add(key: A, entry: B): This
A new tree with the entry added is returned, if key is not in the tree, otherwise the key is updated with the new entry. |
Methods inherited from java/lang/Object-class |
clone, eq, equals, finalize, getClass, hashCode, notify, notifyAll, synchronized, toString, wait, wait, wait |
Methods inherited from scala/Any-class |
!=, ==, asInstanceOf, isInstanceOf, match |
Object Summary | |
case
|
object GBNil
|
Class Summary | |
protected case
|
class INode(t1: GBTree[A,B], height: Int, siz: Int)
|
protected case
|
class ITree(t: GBTree[A,B])
|
Field Detail |
abstract type This <: Tree[A,B]
class C[T](...) extends Tree[A,B](...) { type This = C[T];
protected type aNode = GBTree[A,B]
protected val tree: GBTree[A,B]
Method Detail |
protected abstract def New(sz: Int, t: GBTree[A,B]): This
override def New(sz:Int,t:aNode):This { new C[T](order) { override def size=sz; override protected val tree:aNode=t; }The concrete implementation should also override the def of This
override type This = C[T];
def size: Int
abstract def entryKey(entry: B): A
def is_defined(key: A): Boolean
key
-
the key
def add(key: A, entry: B): This
def update_or_add(key: A, entry: B): This
def delete_any(key: A): This
def findValue(key: A): Option[B]
key
to a value and return the
value if it exists.
key
-
the key of the mapping of interest
def entries: Iterator[B]
def balance: This
protected def balance_list(list: List[B], s: Int): GBTree[A,B]
protected def balance_list_1(list: List[B], s: Int): Tuple2[GBTree[A,B],List[B]]
|
Scala
1.2.0.1 |
|||