mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-19 21:59:16 +02:00
99 lines
2.3 KiB
Markdown
99 lines
2.3 KiB
Markdown
---
|
|
layout: main
|
|
title: API
|
|
---
|
|
|
|
# SRFI 117 - Queues based on lists
|
|
|
|
The `(srfi 117)` library defines list queues; mutable ordered collections that can contain any Scheme object. Each list queue is based on an ordinary Scheme list containing the elements of the list queue by maintaining pointers to the first and last pairs of the list. It's cheap to add or remove elements from the front of the list or to add elements to the back, but not to remove elements from the back.
|
|
|
|
See the [SRFI document](http://srfi.schemers.org/srfi-117/srfi-117.html) for more information.
|
|
|
|
## Constructors
|
|
[`make-list-queue`](#make-list-queue)
|
|
[`list-queue`](#list-queue)
|
|
[`list-queue-copy`](#list-queue-copy)
|
|
[`list-queue-unfold`](#list-queue-unfold)
|
|
[`list-queue-unfold-right`](#list-queue-unfold-right)
|
|
|
|
## Predicates
|
|
[`list-queue?`](#list-queue-1)
|
|
[`list-queue-empty?`](#list-queue-empty)
|
|
|
|
## Accessors
|
|
[`list-queue-front`](#list-queue-front)
|
|
[`list-queue-back`](#list-queue-back)
|
|
[`list-queue-list`](#list-queue-list)
|
|
[`list-queue-first-last`](#list-queue-first-last)
|
|
|
|
## Mutators
|
|
[`list-queue-add-front!`](#list-queue-add-front)
|
|
[`list-queue-add-back!`](#list-queue-add-back)
|
|
[`list-queue-remove-front!`](#list-queue-remove-front)
|
|
[`list-queue-remove-back!`](#list-queue-remove-back)
|
|
[`list-queue-remove-all!`](#list-queue-remove-all)
|
|
[`list-queue-set-list!`](#list-queue-set-list)
|
|
[`list-queue-append`](#list-queue-append)
|
|
[`list-queue-append!`](#list-queue-append-1)
|
|
[`list-queue-concatenate`](#list-queue-concatenate)
|
|
[`list-queue-append`](#list-queue-append)
|
|
[`list-queue-append!`](#list-queue-append-1)
|
|
[`list-queue-concatenate`](#list-queue-concatenate)
|
|
|
|
## Mapping
|
|
[`list-queue-map`](#list-queue-map)
|
|
[`list-queue-map!`](#list-queue-map-1)
|
|
[`list-queue-for-each`](#list-queue-for-each)
|
|
|
|
# make-list-queue
|
|
|
|
# list-queue
|
|
|
|
# list-queue-copy
|
|
|
|
# list-queue-unfold
|
|
|
|
# list-queue-unfold-right
|
|
|
|
# list-queue?
|
|
|
|
# list-queue-empty?
|
|
|
|
# list-queue-front
|
|
|
|
# list-queue-back
|
|
|
|
# list-queue-list
|
|
|
|
# list-queue-first-last
|
|
|
|
# list-queue-add-front!
|
|
|
|
# list-queue-add-back!
|
|
|
|
# list-queue-remove-front!
|
|
|
|
# list-queue-remove-back!
|
|
|
|
# list-queue-remove-all!
|
|
|
|
# list-queue-set-list!
|
|
|
|
# list-queue-append
|
|
|
|
# list-queue-append!
|
|
|
|
# list-queue-concatenate
|
|
|
|
# list-queue-append
|
|
|
|
# list-queue-append!
|
|
|
|
# list-queue-concatenate
|
|
|
|
# list-queue-map
|
|
|
|
# list-queue-map!
|
|
|
|
# list-queue-for-each
|
|
|