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

  1. |##########|
  2. |#MAGIC   #|CLABLLDM
  3. |#PROJECT #|"ImportHelp"
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx---x--x-----x-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|xx---xxxxx------
  9. |##########|
  10. DEFINITION MODULE Sets;
  11.  
  12. IMPORT Resources;
  13.  
  14.   DEFINITION MODULE Sets(ElemPtr : ANYPTR;
  15.                          SetPtr  : POINTER TO Set);
  16.  
  17.     TYPE
  18.       SetElemPtr = HIDDEN;
  19.  
  20.     DEFINITION MODULE SetRes = Resources.ResHandles(SetPtr);
  21.  
  22.     TYPE
  23.       Set        = RECORD OF SetRes.ResHandle;
  24.                      firstElem : SetElemPtr;
  25.                    END;
  26.  
  27.       ApplyProc  = PROCEDURE(e : ElemPtr);
  28.       ApplySet   = PROCEDURE(s : SetPtr);
  29.       CheckProc  = PROCEDURE(e : ElemPtr):BOOLEAN;
  30.       Destructor = PROCEDURE(e : ElemPtr);
  31.  
  32.     PROCEDURE Init(s : SetPtr);
  33.  
  34.  
  35.     PROCEDURE Include(s : SetPtr;e : ElemPtr);
  36.  
  37.     PROCEDURE Exclude(s : SetPtr;e : ElemPtr);
  38.  
  39.     PROCEDURE Exclude_All(s : SetPtr);
  40.  
  41.     PROCEDURE Exclude_IF(s : SetPtr;check : CheckProc);
  42.  
  43.  
  44.     PROCEDURE IsIn(s : SetPtr;e : ElemPtr):BOOLEAN;
  45.  
  46.  
  47.     PROCEDURE Unite(dest,source : SetPtr);
  48.  
  49.     PROCEDURE Intersect(dest,source : SetPtr);
  50.  
  51.     PROCEDURE Duplicate(dest,source : SetPtr);
  52.  
  53.  
  54.     PROCEDURE Apply(s : SetPtr;apply : ApplyProc);
  55.  
  56.     PROCEDURE ApplySets(e : ElemPtr;apply : ApplySet);
  57.  
  58.     PROCEDURE GarbageCollect;
  59.  
  60.   END Sets;
  61.  
  62.   DEFINITION MODULE RefSets(ElemPtr : POINTER TO Elem;
  63.                             SetPtr  : POINTER TO Set);
  64.  
  65.     TYPE
  66.       SetElemPtr = HIDDEN;
  67.  
  68.     DEFINITION MODULE SetRes = Resources.ResHandles(SetPtr);
  69.  
  70.     TYPE
  71.       Elem       = RECORD
  72.                      refCount  : INTEGER;
  73.                    END;
  74.  
  75.       Destructor = PROCEDURE(e : ElemPtr);
  76.  
  77.       Set        = RECORD OF SetRes.ResHandle;
  78.                      firstElem : SetElemPtr;
  79.                      destruct  : Destructor;
  80.                    END;
  81.  
  82.       ApplyProc  = PROCEDURE(e : ElemPtr);
  83.       ApplySet   = PROCEDURE(s : SetPtr);
  84.       CheckProc  = PROCEDURE(e : ElemPtr):BOOLEAN;
  85.  
  86.     PROCEDURE Init(s : SetPtr;des : Destructor);
  87.  
  88.     PROCEDURE InitElem(e : ElemPtr);
  89.  
  90.  
  91.     PROCEDURE Include(s : SetPtr;e : ElemPtr);
  92.  
  93.     PROCEDURE Exclude(s : SetPtr;e : ElemPtr);
  94.  
  95.     PROCEDURE Exclude_All(s : SetPtr);
  96.  
  97.     PROCEDURE Exclude_IF(s : SetPtr;check : CheckProc);
  98.  
  99.  
  100.     PROCEDURE IsIn(s : SetPtr;e : ElemPtr):BOOLEAN;
  101.  
  102.  
  103.     PROCEDURE Unite(dest,source : SetPtr);
  104.  
  105.     PROCEDURE Intersect(dest,source : SetPtr);
  106.  
  107.     PROCEDURE Duplicate(dest,source : SetPtr);
  108.  
  109.  
  110.     PROCEDURE Apply(s : SetPtr;apply : ApplyProc);
  111.  
  112.     PROCEDURE ApplySets(e : ElemPtr;apply : ApplySet);
  113.  
  114.  
  115.     PROCEDURE GarbageCollect;
  116.  
  117.   END RefSets;
  118.  
  119.   DEFINITION MODULE Bags(ElemPtr : ANYPTR;
  120.                          BagPtr  : POINTER TO Bag);
  121.  
  122.     TYPE
  123.       BagElemPtr = HIDDEN;
  124.  
  125.     DEFINITION MODULE BagRes = Resources.ResHandles(BagPtr);
  126.  
  127.     TYPE
  128.       Bag        = RECORD OF BagRes.ResHandle;
  129.                      firstElem : BagElemPtr;
  130.                    END;
  131.  
  132.       ApplyProc  = PROCEDURE(e : ElemPtr);
  133.       ApplyBag   = PROCEDURE(s : BagPtr);
  134.       CheckProc  = PROCEDURE(e : ElemPtr):BOOLEAN;
  135.       Destructor = PROCEDURE(e : ElemPtr);
  136.  
  137.     PROCEDURE Init(s : BagPtr);
  138.  
  139.  
  140.     PROCEDURE Include(s : BagPtr;e : ElemPtr);
  141.  
  142.     PROCEDURE Exclude(s : BagPtr;e : ElemPtr);
  143.  
  144.     PROCEDURE Exclude_All(s : BagPtr);
  145.  
  146.     PROCEDURE Exclude_IF(s : BagPtr;check : CheckProc);
  147.  
  148.  
  149.     PROCEDURE IsIn(s : BagPtr;e : ElemPtr):BOOLEAN;
  150.  
  151.  
  152.     PROCEDURE Unite(dest,source : BagPtr);
  153.  
  154.     PROCEDURE Intersect(dest,source : BagPtr);
  155.  
  156.     PROCEDURE Duplicate(dest,source : BagPtr);
  157.  
  158.  
  159.     PROCEDURE Apply(s : BagPtr;apply : ApplyProc);
  160.  
  161.     PROCEDURE ApplyBags(e : ElemPtr;apply : ApplyBag);
  162.  
  163.  
  164.     PROCEDURE GarbageCollect;
  165.  
  166.   END Bags;
  167.  
  168.   DEFINITION MODULE RefBags(ElemPtr : POINTER TO Elem;
  169.                             BagPtr  : POINTER TO Bag);
  170.  
  171.     TYPE
  172.       BagElemPtr = HIDDEN;
  173.  
  174.     DEFINITION MODULE BagRes = Resources.ResHandles(BagPtr);
  175.  
  176.     TYPE
  177.       Elem       = RECORD
  178.                      refCount  : INTEGER;
  179.                    END;
  180.  
  181.       Destructor = PROCEDURE(e : ElemPtr);
  182.  
  183.       Bag        = RECORD OF BagRes.ResHandle;
  184.                      firstElem : BagElemPtr;
  185.                      destruct  : Destructor;
  186.                    END;
  187.  
  188.       ApplyProc  = PROCEDURE(e : ElemPtr);
  189.       ApplyBag   = PROCEDURE(s : BagPtr);
  190.       CheckProc  = PROCEDURE(e : ElemPtr):BOOLEAN;
  191.  
  192.     PROCEDURE Init(s : BagPtr;des : Destructor);
  193.  
  194.     PROCEDURE InitElem(e : ElemPtr);
  195.  
  196.  
  197.     PROCEDURE Include(s : BagPtr;e : ElemPtr);
  198.  
  199.     PROCEDURE Exclude(s : BagPtr;e : ElemPtr);
  200.  
  201.     PROCEDURE Exclude_All(s : BagPtr);
  202.  
  203.     PROCEDURE Exclude_IF(s : BagPtr;check : CheckProc);
  204.  
  205.  
  206.     PROCEDURE IsIn(s : BagPtr;e : ElemPtr):BOOLEAN;
  207.  
  208.     PROCEDURE Unite(dest,source : BagPtr);
  209.  
  210.     PROCEDURE Intersect(dest,source : BagPtr);
  211.  
  212.     PROCEDURE Duplicate(dest,source : BagPtr);
  213.  
  214.  
  215.     PROCEDURE Apply(s : BagPtr;apply : ApplyProc);
  216.  
  217.     PROCEDURE ApplyBags(e : ElemPtr;apply : ApplyBag);
  218.  
  219.  
  220.     PROCEDURE GarbageCollect;
  221.  
  222.   END RefBags;
  223.  
  224. END Sets.
  225.  
  226.  
  227.  
  228.  
  229.