home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / clusterdemo.dms / clusterdemo.adf / Modules.lha / modules / txt / OBuffers.def < prev    next >
Text File  |  1994-05-25  |  2KB  |  82 lines

  1. |##########|
  2. |#MAGIC   #|CKOLFLFN
  3. |#PROJECT #|""
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx---x--x----xx-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|x----xxxxx-xx---
  9. |##########|
  10. DEFINITION MODULE OBuffers;
  11.  
  12. FROM Resources IMPORT ContextPtr;
  13.  
  14.   TYPE
  15.     BuffNodePtr  = HIDDEN;
  16.  
  17.   PROCEDURE CleanUp;
  18.  
  19.   EXCEPTION BufferEmpty : "Buffer allready empty";
  20.  
  21.   DEFINITION MODULE Queues(type : ANYPTR);
  22.  
  23.   TYPE
  24.     Condition = PROCEDURE(n : type):BOOLEAN;
  25.     Destructor= PROCEDURE(n : type);
  26.  
  27.     Queue     = POINTER TO OBJECT
  28.                   first : BuffNodePtr;
  29.                   num   : INTEGER;
  30.  
  31.                   CONSTRUCTOR Create(con : ContextPtr := NIL);
  32.                   DESTRUCTOR Delete;
  33.  
  34.                   METHOD Put(n : type);
  35.                   METHOD Get():type;
  36.  
  37.                   METHOD Destruct;
  38.  
  39.                   METHOD RemoveAll(des : Destructor := NIL);
  40.  
  41.                   METHOD RemoveIF(if : Condition;des : Destructor := NIL);
  42.  
  43.                   METHOD Remove(n : type);
  44.  
  45.                   METHOD empty():BOOLEAN;
  46.                 END;
  47.  
  48.   END Queues;
  49.  
  50.   DEFINITION MODULE Stacks(type : ANYPTR);
  51.  
  52.   TYPE
  53.     Condition = PROCEDURE(n : type):BOOLEAN;
  54.     Destructor= PROCEDURE(n : type);
  55.  
  56.     StackNode = HIDDEN;
  57.     Stack     = POINTER TO OBJECT
  58.                   first : BuffNodePtr;
  59.                   num   : INTEGER;
  60.  
  61.                   CONSTRUCTOR Create(con : ContextPtr := NIL);
  62.                   DESTRUCTOR Delete;
  63.  
  64.                   METHOD Put(n : type);
  65.                   METHOD Get():type;
  66.  
  67.                   METHOD Destruct;
  68.  
  69.                   METHOD RemoveAll(des : Destructor := NIL);
  70.  
  71.                   METHOD RemoveIF(if : Condition;des : Destructor := NIL);
  72.  
  73.                   METHOD Remove(n : type);
  74.  
  75.                   METHOD empty():BOOLEAN;
  76.                 END;
  77.  
  78.   END Stacks;
  79.  
  80. END OBuffers.
  81.  
  82.