home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / m2 / CycloneModules.lha / OOModules / txt / Lists.def next >
Text File  |  1996-05-17  |  966b  |  38 lines

  1. DEFINITION MODULE Lists;
  2.  
  3. (* 
  4.    A Demo of lists object
  5.    Copyright (C) 1996 by Marcel Timmermans
  6. *)
  7.  
  8. FROM Objects IMPORT TObject;
  9. FROM SYSTEM IMPORT ADDRESS;
  10.  
  11. TYPE
  12.  NodePtr = POINTER TO Node;
  13.  Node    =  RECORD
  14.              next:NodePtr;
  15.              prev:NodePtr;
  16.              data:ADDRESS;
  17.             END;
  18.  
  19.  
  20.  (* Convention is to start a Object with 'T' *)
  21.  
  22.  TList  = CLASS(TObject)         (* Convention is to inheritage from TObject *)
  23.             head,tail:NodePtr;
  24.             elements:LONGINT;
  25.             CONSTRUCTOR Init;    (* Will always be called with NEW(xx)  *)
  26.             PROCEDURE Add(d:ADDRESS);
  27.             PROCEDURE DoProc(d:ADDRESS);
  28.             PROCEDURE DoForward;
  29.             PROCEDURE DoBackward;
  30.             PROCEDURE CountElements():LONGINT;
  31.             PROCEDURE Prev(n:NodePtr):NodePtr;
  32.             PROCEDURE Next(n:NodePtr):NodePtr;
  33.             PROCEDURE FreeData(d:ADDRESS);
  34.             PROCEDURE Destroy;
  35.           END;
  36.  
  37. END Lists.
  38.