Heap.mesa
Copyright Ó 1986, 1992 by Xerox Corporation. All rights reserved.
Greene, June 14, 1990 5:19 pm PDT
Russ Atkinson (RRA) September 23, 1986 2:37:00 pm PDT
DIRECTORY
Basics;
Heap: CEDAR DEFINITIONS = BEGIN
Queue: TYPE = REF QueueRec;
QueueRec: TYPE;
Overflow: ERROR;
Event: TYPE = REF ANY;
CompareEvents: TYPE = PROC [e1, e2: Event] RETURNS[Basics.Comparison];
CreateQueue: PROC
[compare: CompareEvents, conjectureSize: CARDINAL ¬ 64, reusable: Queue ¬ NIL] RETURNS [Queue];
InsertEvent: PROC [heap: Queue, event: Event];
NextEvent: PROC [heap: Queue] RETURNS [event: Event];
PeekNextEvent: PROC [heap: Queue] RETURNS [event: Event];
Erase: PROC [heap: Queue];
Empty: PROC [heap: Queue] RETURNS [empty: BOOL ¬ FALSE];
GetSize: PROC [heap: Queue] RETURNS [CARDINAL];
END.