| 
 | 
          Scala 1.3.0.7 | |||
| Field Summary | |
| 
        abstract | type ThisThe type returned when creating a new tree. | 
| 
        protected | type aNodeThe 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]): ThisThis 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 Thisoverride type This = C[T]; | 
| def add(key: A, entry: B): ThisA new tree with the entry added is returned, assuming that key is not in the tree. | |
| def balance: ThisCreate 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): ThisRemoves the key from the tree. | |
| def entries: Iterator[B]Gives you an iterator over all elements in the tree. | |
| 
        abstract | def entryKey(entry: B): AReturns the key of an entry. | 
| def findValue(key: A): Option[B]Check if this map maps keyto a value and return the
  value if it exists. | |
| def is_defined(key: A): BooleanIs the given key mapped to a value by this map? | |
| def size: IntThe size of the tree, returns 0 (zero) if the tree is empty. | |
| def update_or_add(key: A, entry: B): ThisA 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 | 
| Methods inherited from scala/ScalaObject-class | 
| getType | 
| 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.3.0.7 | |||