home *** CD-ROM | disk | FTP | other *** search
- (*-------------------------------------------------------------------------*)
- (* *)
- (* Amiga Oberon Interface Module: Queues Date: 02-Nov-92 *)
- (* *)
- (* © 1992 by Fridtjof Siebert *)
- (* *)
- (*-------------------------------------------------------------------------*)
-
- MODULE Queues;
-
- IMPORT LL * := LinkedLists;
-
- TYPE
- Queue * = POINTER TO QueueDesc;
- QueueDesc * = RECORD (LL.ListDesc) END;
-
- Node * = POINTER TO NodeDesc;
- NodeDesc * = RECORD (LL.NodeDesc) END;
-
-
- PROCEDURE Create * (): Queue;
- VAR
- q: Queue;
- BEGIN
- NEW(q); RETURN q;
- END Create;
-
-
- PROCEDURE (q: Queue) Put * (x: Node);
- BEGIN
- q.AddTail(x);
- END Put;
-
-
- PROCEDURE (q: Queue) Get * (): Node;
- VAR
- n: LL.Node;
- BEGIN
- n := q.RemHead();
- RETURN n(Node);
- END Get;
-
-
- END Queues.
-
-
-