;ELC   
;;; Compiled by dan@wayne.mit.edu on Wed Apr 21 21:02:01 2004
;;; from file /usr/pkgsrc-current/inputmethod/skk/work.bondage/ddskk-12.2.0/queue-m.el
;;; in Emacs version 21.3.1
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`queue-m.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\301\302!\210\303\304\"\301\207" [features provide queue-m delq queue-f] 3)
#@29 Create an empty fifo queue.
(defalias 'queue-create '(macro . #[nil "\300\207" [(cons 'QUEUE (cons nil nil))] 1 (#$ . 730)]))
#@53 Return t if QUEUE is a queue, otherwise return nil.
(defalias 'queue-p '(macro . #[(queue) "\301\302D\303BB\207" [queue eq car-safe ('QUEUE)] 3 (#$ . 862)]))
#@52 Enter an element into a queue.
Args: QUEUE ELEMENT
(defalias 'queue-enqueue #[(queue element) "\303B\nA@\204 \nA\nA	\241\240\202 \nAA	\241\210\nA	\241)\207" [element elementcell queue nil] 3 (#$ . 1027)])
#@96 Remove the first element of QUEUE and return it.
If QUEUE is empty, return nil and do nothing.
(defalias 'queue-dequeue #[(queue) "A@\205 A@@AA@A\240\210A@\204 A\301\241\210\207" [queue nil] 3 (#$ . 1242)])
#@51 Return t if QUEUE is empty, otherwise return nil.
(defalias 'queue-empty '(macro . #[(queue) "\301\302\303DDD\207" [queue null car cdr] 4 (#$ . 1463)]))
#@86 Return the first element of QUEUE or nil if it is empty.
The element is not removed.
(defalias 'queue-first '(macro . #[(queue) "\301\302\303DDD\207" [queue car-safe car cdr] 4 (#$ . 1623)]))
#@176 Return the nth element of a queue, but don't remove it.
Args: QUEUE N
If the length of the queue is less than N, return nil.

The oldest element (the first one) has number 0.
(defalias 'queue-nth '(macro . #[(queue n) "\302\303\304	DDE\207" [n queue nth car cdr] 5 (#$ . 1823)]))
#@57 Return the last element of QUEUE or nil if it is empty.
(defalias 'queue-last '(macro . #[(queue) "\301\302\211DDD\207" [queue car-safe cdr] 4 (#$ . 2110)]))
#@121 Return a list of all elements of QUEUE or nil if it is empty.
The oldest element in the queue is the first in the list.
(defalias 'queue-all '(macro . #[(queue) "\301\302DD\207" [queue car cdr] 3 (#$ . 2276)]))
#@64 Return a copy of QUEUE.  All entries in QUEUE are also copied.
(defalias 'queue-copy #[(queue) "\303A@!\211\211A\203 \nA\211\202	 \304	\n*BB\207" [queue first last copy-sequence QUEUE] 4 (#$ . 2494)])
#@41 Return the number of elements in QUEUE.
(defalias 'queue-length '(macro . #[(queue) "\301\302\303DDD\207" [queue length car cdr] 4 (#$ . 2706)]))
#@33 Remove all elements from QUEUE.
(defalias 'queue-clear '(macro . #[(queue) "\301\302BB\207" [queue setcdr ((cons nil nil))] 3 (#$ . 2859)]))
