;;; queue.el --- Queue data structure -*- lexical-binding: t; -*-
;; Copyright (C) 1991-1995, 2008-2009, 2012, 2017 Free Software Foundation, Inc
;; Author: Inge Wallin <inge@lysator.liu.se>
;; Toby Cubitt <toby-predictive@dr-qubit.org>
;; Maintainer: Toby Cubitt <toby-predictive@dr-qubit.org>
;; Version: 0.2
;; Keywords: extensions, data structures, queue
;; URL: http://www.dr-qubit.org/emacs.php
;; Repository: http://www.dr-qubit.org/git/predictive.git
;; This file is part of Emacs.
;;
;; GNU Emacs is free software: you can redistribute it and/or modify it under
;; the terms of the GNU General Public License as published by the Free
;; Software Foundation, either version 3 of the License, or (at your option)
;; any later version.
;;
;; GNU Emacs is distributed in the hope that it will be useful, but WITHOUT
;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
;; more details.
;;
;; You should have received a copy of the GNU General Public License along
;; with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;;
;; These queues can be used both as a first-in last-out (FILO) and as a
;; first-in first-out (FIFO) stack, i.e. elements can be added to the front or
;; back of the queue, and can be removed from the front. (This type of data
;; structure is sometimes called an "output-restricted deque".)
;;
;; You create a queue using `make-queue', add an element to the end of the
;; queue using `queue-enqueue', and push an element onto the front of the
;; queue using `queue-prepend'. To remove the first element from a queue, use
;; `queue-dequeue'. A number of other queue convenience functions are also
;; provided, all starting with the prefix `queue-'. Functions with prefix
;; `queue--' are for internal use only, and should never be used outside this
;; package.
;;; Code:
;;;###autoload
;;;; ChangeLog:
;; 2017-08-16 Toby S. Cubitt <tsc25@cantab.net>
;;
;; Upgrade data structure packages to latest versions.
;;
;; 2014-05-15 Toby S. Cubitt <tsc25@cantab.net>
;;
;; queue.el: fix buggy queue-first and queue-empty definitions.
;;
;; 2012-04-30 Toby S. Cubitt <tsc25@cantab.net>
;;
;; Minor fixes to commentaries, package headers, and whitespace
;;
;; * queue.el: fix description of data structure in Commentary; add
;; Maintainer
;; header.
;;
;; * queue.el, heap.el, tNFA.el, trie.el, dict-tree.el: trivial whitespace
;; fixes.
;;
;; 2012-04-29 Toby S. Cubitt <tsc25@cantab.net>
;;
;; Add queue.el
;;
;;; queue.el ends here