<<--File: OrderedSymbolTableRef.mesa>> <> <> <<>> <<--NB: This is only a TEMPORARY patch, should retrieved from ARCHIVE (Cedar5.2)>> DIRECTORY Basics USING [Comparison]; OrderedSymbolTableRef: CEDAR DEFINITIONS = BEGIN Table: TYPE = REF Rep; Rep: TYPE; -- opaque CompareProc: TYPE = PROC[r1, r2: REF ANY] RETURNS [Basics.Comparison]; EachItemAction: TYPE = PROC[Item: REF ANY] RETURNS [quit: BOOL _ FALSE]; CreateTable: PROC [compare: CompareProc] RETURNS [Table]; Insert: PROC[tab: Table, item: REF ANY]; DestroyTable: PROC[tab: Table]; DeleteAllItems: PROC[tab: Table]; LookupSmallest: PROC[tab: Table] RETURNS [REF ANY]; LookupNextLarger: PROC[tab: Table, item: REF ANY] RETURNS [REF ANY]; EnumerateIncreasing: PROC[tab: Table, action: EachItemAction]; Size: PROC [tab: Table] RETURNS [INT]; END.