<<>> <> <> <> <> 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.