PROCEDURE Hashable(hash: Hash;
object: Objects.Object) : BOOLEAN;
(* return TRUE if the key of object is compatible
to those of hash
*)
PROCEDURE Acceptable(hash: Hash;
object: Objects.Object) : BOOLEAN;
(* return TRUE if the key of object is hashable and
not yet present in hash
*)
PROCEDURE Insert(hash: Hash; object: Objects.Object);
(* precondition: object must be acceptable for hash
adds object to hash
*)
PROCEDURE Delete(hash: Hash; key: Objects.Object);
(* precondition: key must be hashable for hash
deletes object out of hash that has a key that
is considered equal to key
*)
PROCEDURE Lookup(hash: Hash; key: Objects.Object;
VAR object: Objects.Object) : BOOLEAN;
(* precondition: key must be hashable for hash;
stores into object that object of the hash
that is identical to key if present;
returns TRUE if one object has been found
*)
|