Copyright (C) 1994, Digital Equipment Corporation           
 All rights reserved.                                        
 See the file COPYRIGHT for a full description.              
INTERFACE AdjMatrix;
IMPORT Rd, R2, Thread;
TYPE
  T <: Public;
  Public = OBJECT
  METHODS
    init(n: INTEGER; selfEdges := FALSE): T;
    initFromRd(rd: Rd.T): T RAISES {Thread.Alerted};
    name(i: INTEGER): TEXT;
    coord(i: INTEGER): R2.T;
    putEdge(i, j: INTEGER; b: BOOLEAN);
    getEdge(i, j: INTEGER): BOOLEAN;
    nVertices(): INTEGER;
    edgeIter(): Iter;
  END; (* object *)
TYPE
  Iter <: IterPublic;
  IterPublic = OBJECT
  METHODS
     next(VAR i, j: INTEGER): BOOLEAN;
  END;
PROCEDURE ToText(t: T): TEXT RAISES {};
 render the array as a TEXT!. Required by Zeus. 
TYPE RC = {Row, Column}; RCSet = SET OF RC;
CONST Row = RCSet{RC.Row}; Column = RCSet{RC.Column};
PROCEDURE RCToText(rcset: RCSet): TEXT RAISES {};
 ditto for an rcset 
END AdjMatrix.