dps/src/Pile.i3


Copyright (C) 1994, Digital Equipment Corp.

INTERFACE Pile;

TYPE Element = OBJECT
  next: Element;
  key: INTEGER := 0;
  name: TEXT := NIL
  END;

TYPE T = OBJECT
  mutex: MUTEX;
  first: Element
 METHODS
  Insert (it: Element) := Insert;
  Delete (it: Element) := Delete;
  FindByName (name: TEXT): Element := FindByName;
  FindByKey (key: INTEGER): Element := FindByKey
  END;
PROCEDURE New (): T;

PROCEDURE Insert (pile: T; it: Element);
PROCEDURE Delete (pile: T; it: Element);
PROCEDURE FindByName (pile: T; name: TEXT): Element;
PROCEDURE FindByKey (pile: T; key: INTEGER): Element;

  END Pile.