-- ProtoHashOps.mesa
-- last edited by Satterthwaite, December 22, 1982 11:28 am

DIRECTORY
  Alloc: TYPE USING [Handle, Selector],
  HashTypes: TYPE USING [HTIndex, htNull],
  Strings: TYPE USING [SubString];

HashOps: DEFINITIONS={

 -- hash manipulation

  HTIndex: TYPE~HashTypes.HTIndex;
  htNull: HTIndex~HashTypes.htNull;

  FindString, FindEquivalentString: PROC [Strings.SubString] RETURNS [HTIndex];
  EnterString: PROC [Strings.SubString] RETURNS [HTIndex];
  SubStringForHash: PROC [Strings.SubString, HTIndex];

 -- administration

  Initialize: PROC [ownTable: Alloc.Handle, htTable, ssTable: Alloc.Selector];
  Finalize, Reset: PROC;

  }.