PROCEDURE Lookup(tree: Tree; key: Objects.Object;
VAR object: Objects.Object) : BOOLEAN;
(* precondition: key must be comparable for tree;
stores into object that object of the tree
that is identical to key if present;
returns TRUE if one object has been found
*)
PROCEDURE First(tree: Tree;
VAR object: Objects.Object) : BOOLEAN;
(* returns first object in tree *)
PROCEDURE Last(tree: Tree;
VAR object: Objects.Object) : BOOLEAN;
(* returns last object in tree *)
PROCEDURE Next(tree: Tree; key: Objects.Object;
VAR object: Objects.Object) : BOOLEAN;
(* returns lowest object in tree > key *)
PROCEDURE Prev(tree: Tree; key: Objects.Object;
VAR object: Objects.Object) : BOOLEAN;
(* returns highest object in tree < key *)
PROCEDURE Traverse(tree: Tree; visit: VisitProc);
(* call visit for all objects in tree in sorted order *)
|