Copyright (C) 1994, Digital Equipment Corp.
SetList is a generic interface defining sets of Elem.T's,
implemented as linked lists. This implementations is appropriate
only for small sets.
GENERIC INTERFACESetList (ElemSet);
WHEREElem.Tis a REF type and contains
PROCEDURE Equal(e1, e2: Elem.T): BOOLEAN;ElemSet = Set(Elem).
Equalmust be an equivalence relation.
Equalmay be declared with a parameter mode of eitherVALUEorREADONLY, but notVAR.
TYPE
Public = ElemSet.T OBJECT METHODS
init(): T;
END;
T <: Public;
Iterator <: ElemSet.Iterator;
If s is an object of type SetDefault.T, the expression
NEW(SetDef.T).init()
creates a new, empty set.
The call s.toRefList() returns a RefList.T whose elements
include an element from each of the equivalence classes in
set(s), and no other elements.
END SetList.