https://github.com/zkat/cl-speedy-queue
Lightweight, optimized queue implementation for CL
https://github.com/zkat/cl-speedy-queue
Last synced: 9 months ago
JSON representation
Lightweight, optimized queue implementation for CL
- Host: GitHub
- URL: https://github.com/zkat/cl-speedy-queue
- Owner: zkat
- Created: 2011-09-28T19:01:38.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2015-01-13T08:50:57.000Z (almost 11 years ago)
- Last Synced: 2025-02-05T14:14:57.882Z (11 months ago)
- Language: Common Lisp
- Homepage:
- Size: 121 KB
- Stars: 8
- Watchers: 5
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# About
cl-speedy-queue is a portable, non-consing, optimized queue implementation. It was originally
written by [Adlai Chandrasekhar](http://github.com/adlai) for use in
[ChanL](http://github.com/zkat/chanl).
# API
*[function]* `make-queue size`
Creates a new queue of SIZE.
*[function]* `enqueue object queue`
Enqueues OBJECT in QUEUE.
*[function]* `dequeue queue`
Dequeues QUEUE.
*[function]* `queue-count queue`
Returns the current size of QUEUE.
*[function]* `queue-length queue`
Returns the maximum size of QUEUE.
*[function]* `queue-peek queue`
Returns the next item that would be dequeued without dequeueing it.
*[function]* `queue-full-p queue`
Returns NIL if more items can be enqueued.
*[function]* `queue-empty-p queue`
Returns NIL if there are still items in the queue.