From 8466d8cfa486fb30d1755c4261b781135083787b Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:29 -0800 Subject: Import Upstream version 3a1 --- queue.txi | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 queue.txi (limited to 'queue.txi') diff --git a/queue.txi b/queue.txi new file mode 100644 index 0000000..4590f34 --- /dev/null +++ b/queue.txi @@ -0,0 +1,60 @@ +@code{(require 'queue)} +@ftindex queue + +A @dfn{queue} is a list where elements can be added to both the front +@cindex queue +and rear, and removed from the front (i.e., they are what are often +called @dfn{dequeues}). A queue may also be used like a stack. +@cindex dequeues + + +@defun make-queue + +Returns a new, empty queue. +@end defun + +@defun queue? obj + +Returns @code{#t} if @var{obj} is a queue. +@end defun + +@defun queue-empty? q + +Returns @code{#t} if the queue @var{q} is empty. +@end defun + +@deffn {Procedure} queue-push! q datum + +Adds @var{datum} to the front of queue @var{q}. +@end deffn + +@deffn {Procedure} enqueue! q datum + +Adds @var{datum} to the rear of queue @var{q}. +@end deffn + +@deffn {Procedure} dequeue! q + +@deffnx {Procedure} queue-pop! q +Both of these procedures remove and return the datum at the front of +the queue. @code{queue-pop!} is used to suggest that the queue is +being used like a stack. +@end deffn +All of the following functions raise an error if the queue @var{q} +is empty. + + +@deffn {Procedure} dequeue-all! q + +Removes and returns (the list) of all contents of queue @var{q}. +@end deffn + +@defun queue-front q + +Returns the datum at the front of the queue @var{q}. +@end defun + +@defun queue-rear q + +Returns the datum at the rear of the queue @var{q}. +@end defun -- cgit v1.2.3