The cl-containers Reference Manual

This is the cl-containers Reference Manual, version 0.12.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Fri Sep 15 03:48:24 2023 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 cl-containers

A generic container library for Common Lisp

Maintainer

Gary Warren King <>

Author

Brendan Burns, Andrew Hannon, Brent Heeringa, Gary King, Joshua Moody, Charles Sutton, Louis Theran, David Westbrook, and other former students and staff of EKSL.

License

MIT Style License

Version

0.12.1

Dependency

metatilities-base (system)., at least version "0.6.6"

Source

cl-containers.asd.

Child Components

3 Modules

Modules are listed depth-first from the system components tree.


3.1 cl-containers/setup

Source

cl-containers.asd.

Parent Component

cl-containers (system).

Child Components

3.2 cl-containers/dev

Dependency

setup (module).

Source

cl-containers.asd.

Parent Component

cl-containers (system).

Child Components

3.3 cl-containers/website

Source

cl-containers.asd.

Parent Component

cl-containers (system).

Child Component

source (module).


3.4 cl-containers/website/source

Source

cl-containers.asd.

Parent Component

website (module).

Child Component

index.md (file).


4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 cl-containers/cl-containers.asd

Source

cl-containers.asd.

Parent Component

cl-containers (system).

ASDF Systems

cl-containers.


4.1.2 cl-containers/setup/package.lisp

Source

cl-containers.asd.

Parent Component

setup (module).

Packages

metabang.cl-containers.


4.1.3 cl-containers/setup/conditions.lisp

Dependency

package.lisp (file).

Source

cl-containers.asd.

Parent Component

setup (module).

Public Interface
Internals

4.1.4 cl-containers/dev/container-api.lisp

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.5 cl-containers/dev/containers.lisp

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.6 cl-containers/dev/basic-operations.lisp

Dependencies
Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.7 cl-containers/dev/queues.lisp

Dependency

basic-operations.lisp (file).

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.8 cl-containers/dev/stacks.lisp

Dependency

basic-operations.lisp (file).

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.9 cl-containers/dev/trees.lisp

Dependencies
Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.10 cl-containers/dev/lists.lisp

Dependency

basic-operations.lisp (file).

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.11 cl-containers/dev/bags-and-sets.lisp

Dependency

basic-operations.lisp (file).

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.12 cl-containers/dev/ring-buffers.lisp

Dependencies
Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.13 cl-containers/dev/miscellaneous.lisp

Dependency

basic-operations.lisp (file).

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.14 cl-containers/dev/associative.lisp

Dependency

basic-operations.lisp (file).

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.15 cl-containers/dev/compatibility.lisp

Dependencies
Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface

4.1.16 cl-containers/dev/vectors.lisp

Dependency

basic-operations.lisp (file).

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.17 cl-containers/dev/quad-tree.lisp

Dependencies
Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.18 cl-containers/dev/heaps.lisp

Dependency

basic-operations.lisp (file).

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.19 cl-containers/dev/container-mixins.lisp

Dependency

basic-operations.lisp (file).

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.20 cl-containers/dev/union-find-container.lisp

Dependency

basic-operations.lisp (file).

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.21 cl-containers/dev/package-container.lisp

Dependency

basic-operations.lisp (file).

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

bound-symbols-in-package (function).


4.1.22 cl-containers/dev/iterator-api.lisp

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.23 cl-containers/dev/iterators.lisp

Dependencies
Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.24 cl-containers/dev/file-iterators.lisp

Dependency

iterators.lisp (file).

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.25 cl-containers/dev/dynamic-classes.lisp

Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.1.26 cl-containers/dev/dynamic-class-defs.lisp

Dependencies
Source

cl-containers.asd.

Parent Component

dev (module).

Public Interface
Internals

4.2 Static


4.2.1 cl-containers/website/source/index.md

Source

cl-containers.asd.

Parent Component

source (module).


5 Packages

Packages are listed by definition order.


5.1 metabang.cl-containers

A library of container classes and algorithms for Common Lisp.

Source

package.lisp.

Nicknames
  • containers
  • cl-containers
Use List

common-lisp.

Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Macros

Macro: with-iterator ((var source &rest args) &body body)
Package

metabang.cl-containers.

Source

iterators.lisp.


6.1.2 Ordinary functions

Function: add-parameter->dynamic-class (class-type parameter &rest super-classes)
Package

metabang.cl-containers.

Source

dynamic-classes.lisp.

Function: collect-containers (fn &rest containers)
Package

metabang.cl-containers.

Source

iterators.lisp.

Function: collect-pairs (elements)
Package

metabang.cl-containers.

Source

miscellaneous.lisp.

Function: collect-using (map-fn filter &rest args)

Collects stuff by applying the map-fn to the arguments. Assumes that the map-fn signature has the function to be applied as its last argument.

Package

metabang.cl-containers.

Source

basic-operations.lisp.

Function: collect-window-over-elements (container window-size window-step &key transform duplicate-ends?)

Moves a windows of size ‘window-size‘ across the elements of ‘container‘, stepping by ‘window-step‘ each time. At each step, it applies function ‘fn‘ to the elements in the current window (as a list).

Package

metabang.cl-containers.

Source

miscellaneous.lisp.

Function: collect-window-over-nodes (container window-size window-step &key transform duplicate-ends?)

Moves a windows of size ‘window-size‘ across the elements of ‘container‘, stepping by ‘window-step‘ each time. At each step, it applies function ‘fn‘ to the elements in the current window (as a list).

Package

metabang.cl-containers.

Source

miscellaneous.lisp.

Function: count-using (map-fn filter &rest args)

Counts stuff by applying the map-fn to the arguments. Assumes that the map-fn signature has the function to be applied as its last argument.

Package

metabang.cl-containers.

Source

basic-operations.lisp.

Function: determine-dynamic-class (class-type dynamic-class &rest parameters)
Package

metabang.cl-containers.

Source

dynamic-classes.lisp.

Function: element-counts (container &key test key sort sort-on return weight filter)
Package

metabang.cl-containers.

Source

miscellaneous.lisp.

Function: empty-add-parameter->dynamic-class (class-type)
Package

metabang.cl-containers.

Source

dynamic-classes.lisp.

Function: empty-all-add-parameter->dynamic-class ()
Package

metabang.cl-containers.

Source

dynamic-classes.lisp.

Function: find-existing-subclass (superclass superclasses)

Look through all the sub-classes of superclass and see if any of them descend from every class in superclasses.

Package

metabang.cl-containers.

Source

dynamic-classes.lisp.

Function: find-or-create-class (root classes)

Try to find a class which is a subclass of root and all of the other ‘classes‘ as well. If no such class exists, then it will be created and returned.

Package

metabang.cl-containers.

Source

dynamic-classes.lisp.

Function: first-item (x)
Package

metabang.cl-containers.

Source

container-api.lisp.

Function: last-item (x)
Package

metabang.cl-containers.

Source

container-api.lisp.

Function: make-generator (&rest args &key generator-class &allow-other-keys)
Package

metabang.cl-containers.

Source

iterators.lisp.

Function: make-ring-buffer (size &optional last-in-first-out)
Package

metabang.cl-containers.

Source

ring-buffers.lisp.

Function: map-containers (fn &rest containers)
Package

metabang.cl-containers.

Source

iterators.lisp.

Function: map-pairs (container fn)
Package

metabang.cl-containers.

Source

miscellaneous.lisp.

Function: map-window-over-elements (container window-size window-step function &key duplicate-ends?)

Moves a windows of size ‘window-size‘ across the elements of ‘container‘, stepping by ‘window-step‘ each time. At each step, it applies function ‘fn‘ to the elements in the current window (as a list).

Package

metabang.cl-containers.

Source

miscellaneous.lisp.

Function: map-window-over-nodes (container window-size window-step function &key duplicate-ends?)

Moves a windows of size ‘window-size‘ across the elements of ‘container‘, stepping by ‘window-step‘ each time. At each step, it applies function ‘fn‘ to the elements in the current window (as a list).

Package

metabang.cl-containers.

Source

miscellaneous.lisp.

Function: merge-elements (container merge-fn initial-fn &key key test argument return filter)
Package

metabang.cl-containers.

Source

miscellaneous.lisp.

Function: merge-nodes (container merge-fn initial-fn &key key test argument return filter)
Package

metabang.cl-containers.

Source

miscellaneous.lisp.

Function: move-forward-p (iterator)
Package

metabang.cl-containers.

Source

iterators.lisp.

Function: node-counts (container &key test key sort sort-on return weight filter)
Package

metabang.cl-containers.

Source

miscellaneous.lisp.

Function: parameter->dynamic-class (table parameter)
Package

metabang.cl-containers.

Source

dynamic-classes.lisp.

Function: (setf parameter->dynamic-class) (table parameter)
Package

metabang.cl-containers.

Source

dynamic-classes.lisp.


6.1.3 Generic functions

Generic Function: append-item (ordered-container item)

Add an item to the end of an ordered container.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: append-item ((container contents-as-list-mixin) item)
Source

basic-operations.lisp.

Generic Function: append-new-item (ordered-container item &key test key)

Add an item to the end of an ordered container unless its already there.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: append-new-item ((container contents-as-list-mixin) item &key test key)
Source

basic-operations.lisp.

Generic Function: best-element (container function &key key test filter)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: best-element (container function &key key test filter)
Source

basic-operations.lisp.

Generic Function: best-node (container function &key key test filter)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: best-node (container function &key key test filter)
Source

basic-operations.lisp.

Generic Function: biggest-item (heap)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: biggest-item ((heap heap-container))
Source

heaps.lisp.

Generic Function: children (many-child-node)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: children ((node many-ordered-child-node))
Source

trees.lisp.

Generic Function: collect-elements (container &key filter transform)

Returns a possibly filtered and possibly transformed list of the elements in a container. If the container uses nodes, then the elements are the things ’in’ the nodes. Warning: it is possible for the result to share structure with the original container.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: collect-elements :around ((container filtered-container-mixin) &key filter transform)
Source

container-mixins.lisp.

Method: collect-elements ((hash-table hash-table) &key filter transform)
Source

compatibility.lisp.

Method: collect-elements ((array array) &key filter transform)
Source

compatibility.lisp.

Method: collect-elements ((vector vector) &key filter transform)
Source

compatibility.lisp.

Method: collect-elements ((list list) &key filter transform)
Source

compatibility.lisp.

Method: collect-elements ((container sorted-list-container) &key filter transform)
Source

lists.lisp.

Method: collect-elements ((container iteratable-container-mixin) &key filter transform)
Source

basic-operations.lisp.

Method: collect-elements ((object uses-contents-mixin) &rest args &key filter transform)
Source

containers.lisp.

Generic Function: collect-elements-stably (container &key filter transform)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: collect-elements-stably ((container iteratable-container-mixin) &key filter transform)
Source

basic-operations.lisp.

Generic Function: collect-items (object &rest args &key filter transform)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: collect-items (object &rest args &key filter transform)
Source

containers.lisp.

Generic Function: collect-key-value (container &key filter transform)

Iterate over the keys and values of the container and
return a list of the ones that pass the filter function transformed by the transform function.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: collect-key-value ((container list) &rest args &key filter transform)
Source

compatibility.lisp.

Method: collect-key-value ((container key-value-iteratable-container-mixin) &rest args &key filter transform)
Source

basic-operations.lisp.

Generic Function: collect-key-value-stably (container)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: collect-key-value-stably ((container stable-associative-container))
Source

basic-operations.lisp.

Generic Function: collect-keys (container &key filter transform)

Collects the ‘keys‘ of a container into a list.

The ‘filter‘ and ‘transform‘ arguments should be ‘nil‘ or functions of one argument. If ‘filter‘ is non-nil, then the list returned will contain only ‘keys‘ that return true. If transform is non-nil, then it will be applied to each key that passes the filter.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: collect-keys ((container list) &key filter transform)

If the list begins with an atom, then it is treated as a property list; otherwise, it is treated as an associative-list.

Source

compatibility.lisp.

Method: collect-keys ((hash-table hash-table) &key filter transform)
Source

compatibility.lisp.

Method: collect-keys ((container associative-container-mixin) &key filter transform)
Source

associative.lisp.

Method: collect-keys ((container stable-associative-container) &rest args &key filter transform)
Source

basic-operations.lisp.

Generic Function: collect-nodes (container &key filter transform)

Returns a possibly filtered and possibly transformed list
of the nodes in a container. If the container uses nodes, then the items are the nodes. If not, collect-nodes is equivalent to collect-elements.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: collect-nodes ((container iteratable-container-mixin) &key filter transform)
Source

basic-operations.lisp.

Generic Function: container->array (ordered-container-mixin)
Package

metabang.cl-containers.

Source

container-api.lisp.

Generic Function: container->list (graph)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: container->list ((container ring-buffer))

Return list of items.
Items are ordered from oldest to newest if ‘ring-buffer’, or from newest to oldest if ‘ring-buffer-reverse’.

Source

ring-buffers.lisp.

Generic Reader: contents (object)
Package

metabang.cl-containers.

Methods
Reader Method: contents ((ring-buffer ring-buffer))

automatically generated reader method

Source

ring-buffers.lisp.

Target Slot

contents.

Reader Method: contents ((set-container set-container))

automatically generated reader method

Source

bags-and-sets.lisp.

Target Slot

contents.

Reader Method: contents ((bag-container bag-container))

automatically generated reader method

Source

bags-and-sets.lisp.

Target Slot

contents.

Reader Method: contents ((many-unordered-child-node many-unordered-child-node))

automatically generated reader method

Source

trees.lisp.

Target Slot

contents.

Reader Method: contents ((stack-container stack-container))

automatically generated reader method

Source

stacks.lisp.

Target Slot

contents.

Reader Method: contents ((array-container array-container))

automatically generated reader method

Source

containers.lisp.

Target Slot

contents.

Reader Method: contents ((contents-as-hashtable-mixin contents-as-hashtable-mixin))

automatically generated reader method

Source

containers.lisp.

Target Slot

contents.

Reader Method: contents ((contents-as-list-mixin contents-as-list-mixin))

automatically generated reader method

Source

containers.lisp.

Target Slot

contents.

Reader Method: contents ((contents-as-array-mixin contents-as-array-mixin))

automatically generated reader method

Source

containers.lisp.

Target Slot

contents.

Reader Method: contents ((uses-contents-mixin uses-contents-mixin))

automatically generated reader method

Source

containers.lisp.

Target Slot

contents.

Generic Writer: (setf contents) (object)
Package

metabang.cl-containers.

Methods
Writer Method: (setf contents) ((many-unordered-child-node many-unordered-child-node))

automatically generated writer method

Source

trees.lisp.

Target Slot

contents.

Writer Method: (setf contents) ((array-container array-container))

automatically generated writer method

Source

containers.lisp.

Target Slot

contents.

Writer Method: (setf contents) ((contents-as-hashtable-mixin contents-as-hashtable-mixin))

automatically generated writer method

Source

containers.lisp.

Target Slot

contents.

Writer Method: (setf contents) ((contents-as-list-mixin contents-as-list-mixin))

automatically generated writer method

Source

containers.lisp.

Target Slot

contents.

Writer Method: (setf contents) ((contents-as-array-mixin contents-as-array-mixin))

automatically generated writer method

Source

containers.lisp.

Target Slot

contents.

Generic Function: count-elements (container item &key key test)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: count-elements ((container list) item &key key test)
Source

associative.lisp.

Method: count-elements ((container iteratable-container-mixin) item &key key test)
Source

associative.lisp.

Generic Function: count-elements-if (container test &key key)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: count-elements-if ((container list) test &key key)
Source

associative.lisp.

Method: count-elements-if ((container iteratable-container-mixin) test &key key)
Source

associative.lisp.

Generic Function: current-element (thing)
Package

metabang.cl-containers.

Source

iterator-api.lisp.

Methods
Method: current-element ((iterator delimited-iterator))
Source

file-iterators.lisp.

Method: current-element ((iterator file-form-iterator))
Source

file-iterators.lisp.

Method: current-element ((iterator file-line-iterator))
Source

file-iterators.lisp.

Method: current-element ((iterator file-iterator))
Source

file-iterators.lisp.

Method: current-element ((iterator arithmetic-sequence-generator))
Source

iterators.lisp.

Method: current-element ((iterator array-iterator))
Source

iterators.lisp.

Method: current-element ((iterator list-iterator))
Source

iterators.lisp.

Method: current-element :around ((iterator transforming-iterator-mixin))
Source

iterators.lisp.

Generic Function: current-element-p (iterator)
Package

metabang.cl-containers.

Source

iterator-api.lisp.

Methods
Method: current-element-p ((iterator delimited-iterator))
Source

file-iterators.lisp.

Method: current-element-p ((iterator file-form-iterator))
Source

file-iterators.lisp.

Method: current-element-p ((iterator file-line-iterator))
Source

file-iterators.lisp.

Method: current-element-p ((iterator file-iterator))
Source

file-iterators.lisp.

Method: current-element-p ((iterator array-iterator))
Source

iterators.lisp.

Method: current-element-p ((iterator basic-iterator))
Source

iterators.lisp.

Generic Function: current-item (container)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: current-item ((container ring-buffer))

Last item in the ordered container.
For ‘ring-buffer’, it’s the newest item.
For ‘ring-buffer-reverse’, it’s the oldest item.

Source

ring-buffers.lisp.

Generic Function: delete-biggest-item (heap)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: delete-biggest-item ((heap heap-container))
Source

heaps.lisp.

Generic Function: delete-element (q item)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: delete-element ((q priority-queue-on-container) item)
Source

queues.lisp.

Method: delete-element ((container container-uses-nodes-mixin) thing)
Source

basic-operations.lisp.

Generic Function: delete-first (ordered-container-mixin)

Removes (and returns) the first item in an ordered container.
Behavior is undefined if the container is empty.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: delete-first ((container ring-buffer-reverse))
Source

ring-buffers.lisp.

Method: delete-first ((container ring-buffer))
Source

ring-buffers.lisp.

Method: delete-first ((container sorted-list-container))
Source

lists.lisp.

Method: delete-first ((container list-container))
Source

lists.lisp.

Method: delete-first ((v vector-container))
Source

vectors.lisp.

Method: delete-first ((q basic-queue))
Source

queues.lisp.

Method: delete-first ((q priority-queue-on-container))
Source

queues.lisp.

Method: delete-first :before ((q abstract-queue))
Source

queues.lisp.

Generic Function: delete-item (ordered-container-mixin item)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: delete-item ((heap heap-container) (node heap-node))
Source

heaps.lisp.

Method: delete-item ((container ring-buffer) item)
Source

ring-buffers.lisp.

Method: delete-item ((container keyed-bag/set-container) item)
Source

bags-and-sets.lisp.

Method: delete-item ((container bag/set-container) item)
Source

bags-and-sets.lisp.

Method: delete-item ((container abstract-bag/set-container) item)
Source

bags-and-sets.lisp.

Method: delete-item ((list sorted-dlist-container) (item i-know-my-node-mixin))
Source

lists.lisp.

Method: delete-item ((list sorted-dlist-container) item)
Source

lists.lisp.

Method: delete-item ((list dlist-container) (node dlist-container-node))
Source

lists.lisp.

Method: delete-item ((list dlist-container) item)
Source

lists.lisp.

Method: delete-item ((container sorted-list-container) item)
Source

lists.lisp.

Method: delete-item ((container list-container) item)
Source

lists.lisp.

Method: delete-item ((tree splay-tree) item)
Source

trees.lisp.

Method: delete-item ((tree binary-search-tree) item)
Source

trees.lisp.

Method: delete-item ((tree binary-search-tree) (node bst-node))
Source

trees.lisp.

Method: delete-item ((container vector-container) item)
Source

vectors.lisp.

Method: delete-item ((queue basic-queue) item)
Source

queues.lisp.

Method: delete-item ((q priority-queue-on-container) item)
Source

queues.lisp.

Method: delete-item :after ((container container-uses-nodes-mixin) (item i-know-my-node-mixin))
Source

basic-operations.lisp.

Method: delete-item ((container container-uses-nodes-mixin) item)
Source

basic-operations.lisp.

Generic Function: delete-item-after (list node)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: delete-item-after ((list dlist-container) (node dlist-container-node))
Source

lists.lisp.

Generic Function: delete-item-at (container &rest indexes)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: delete-item-at ((container list) &rest indexes)
Source

compatibility.lisp.

Method: delete-item-at :around ((container keyed-associative-container) &rest indexes)
Source

associative.lisp.

Method: delete-item-at ((container alist-container) &rest indexes)
Source

associative.lisp.

Method: delete-item-at ((container associative-container) &rest indexes)
Source

associative.lisp.

Method: delete-item-at ((container simple-associative-container) &rest indexes)
Source

associative.lisp.

Method: delete-item-at ((container ring-buffer) &rest indexes)

Delete item using FIFO or LIFO index for ring-buffer. Warning: Only the first element of INDEXES is used.

Source

ring-buffers.lisp.

Method: delete-item-at ((tree splay-tree) &rest indexes)
Source

trees.lisp.

Method: delete-item-at ((container vector-container) &rest indexes)
Source

vectors.lisp.

Generic Function: delete-item-before (list node)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: delete-item-before ((list dlist-container) (node dlist-container-node))
Source

lists.lisp.

Generic Function: delete-item-if (ordered-container-mixin test)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: delete-item-if (test (tree binary-search-tree))

Iterate over the nodes of the tree, deleting them if they match test.

Source

trees.lisp.

Method: delete-item-if (test (q priority-queue-on-container))
Source

queues.lisp.

Method: delete-item-if ((container iteratable-container-mixin) test)
Source

basic-operations.lisp.

Generic Function: delete-last (ordered-container-mixin)

Removes (and returns) the last item in an ordered container.
Behavior is undefined if the container is empty.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: delete-last ((container ring-buffer-reverse))
Source

ring-buffers.lisp.

Method: delete-last ((container ring-buffer))
Source

ring-buffers.lisp.

Method: delete-last ((v vector-container))
Source

vectors.lisp.

Generic Function: delete-list (non-associative-container-mixin list)

Deletes each item in the list from the container.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: delete-list ((container non-associative-container-mixin) list)
Source

basic-operations.lisp.

Generic Function: delete-node (tree node)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: delete-node ((tree splay-tree) (node bst-node))
Source

trees.lisp.

Method: delete-node ((tree red-black-tree) (item red-black-node))
Source

trees.lisp.

Method: delete-node :after ((tree binary-search-tree) (node bst-node))
Source

trees.lisp.

Method: delete-node ((tree binary-search-tree) (node bst-node))
Source

trees.lisp.

Method: delete-node ((q priority-queue-on-container) item)
Source

queues.lisp.

Generic Function: dequeue (abstract-queue)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: dequeue ((queue abstract-queue))
Source

queues.lisp.

Generic Function: dimensions (object)
Package

metabang.cl-containers.

Methods
Method: dimensions ((container array-container))
Source

associative.lisp.

Method: dimensions ((container associative-array))
Source

basic-operations.lisp.

Reader Method: dimensions ((sparse-array-container sparse-array-container))

automatically generated reader method

Source

containers.lisp.

Target Slot

dimensions.

Generic Reader: element-filter (object)
Package

metabang.cl-containers.

Methods
Reader Method: element-filter ((filtered-container-mixin filtered-container-mixin))

automatically generated reader method

Source

container-mixins.lisp.

Target Slot

element-filter.

Generic Writer: (setf element-filter) (object)
Package

metabang.cl-containers.

Methods
Writer Method: (setf element-filter) ((filtered-container-mixin filtered-container-mixin))

automatically generated writer method

Source

container-mixins.lisp.

Target Slot

element-filter.

Generic Function: element-position (ordered-container-mixin element &key test key)

Returns the position of element in container using test and key to match. Key defaults to identity and test defaults to eq.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: element-position ((list list) element &key key test)
Source

compatibility.lisp.

Method: element-position ((container contents-as-sequence-mixin) element &key test key)
Source

basic-operations.lisp.

Method: element-position ((container iteratable-container-mixin) element &key test key)
Source

basic-operations.lisp.

Generic Function: empty! (abstract-container)

Removes all items from the container and returns nil.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: empty! ((tree quad-tree))
Source

quad-tree.lisp.

Method: empty! ((hash-table hash-table))
Source

compatibility.lisp.

Method: empty! ((container alist-container))
Source

associative.lisp.

Method: empty! ((container ring-buffer))
Source

ring-buffers.lisp.

Method: empty! ((container abstract-bag/set-container))
Source

bags-and-sets.lisp.

Method: empty! ((container dlist-container))
Source

lists.lisp.

Method: empty! ((tree binary-search-tree))
Source

trees.lisp.

Method: empty! ((container stack-container))
Source

stacks.lisp.

Method: empty! ((q basic-queue))

Empty a queue of all contents.

Source

queues.lisp.

Method: empty! ((q priority-queue-on-container))
Source

queues.lisp.

Method: empty! ((q abstract-queue))
Source

queues.lisp.

Method: empty! ((container stable-associative-container))
Source

basic-operations.lisp.

Method: empty! ((container contents-as-hashtable-mixin))
Source

basic-operations.lisp.

Method: empty! ((container contents-as-list-mixin))
Source

basic-operations.lisp.

Method: empty! ((container contents-as-array-mixin))
Source

basic-operations.lisp.

Generic Function: empty-p (abstract-container)

Returns t if there are no items in the container.

Package

metabang.cl-containers.

Source

basic-operations.lisp.

Methods
Method: empty-p ((object forward-iterator))
Source

iterators.lisp.

Method: empty-p ((tree quad-tree))
Source

quad-tree.lisp.

Method: empty-p ((hash-table hash-table))
Source

compatibility.lisp.

Method: empty-p ((vector vector))
Source

compatibility.lisp.

Method: empty-p ((list list))
Source

compatibility.lisp.

Method: empty-p ((container abstract-bag/set-container))
Source

bags-and-sets.lisp.

Method: empty-p ((tree binary-search-tree))
Source

trees.lisp.

Method: empty-p ((container stack-container))
Source

stacks.lisp.

Method: empty-p ((q basic-queue))
Source

queues.lisp.

Method: empty-p ((q priority-queue-on-container))
Source

queues.lisp.

Method: empty-p ((container contents-as-list-mixin))
Method: empty-p ((container contents-as-sequence-mixin))
Method: empty-p (container)
Generic Function: enqueue (abstract-queue item)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: enqueue ((queue abstract-queue) item)
Source

queues.lisp.

Generic Function: ensure-sorted (container)

This method ensures that the sorted-list-container is sorted, and then returns the container.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: ensure-sorted ((list sorted-dlist-container))
Source

lists.lisp.

Method: ensure-sorted ((container sorted-list-container))
Source

lists.lisp.

Generic Function: every-element-p (array predicate)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: every-element-p ((array array) predicate)
Source

compatibility.lisp.

Method: every-element-p ((container vector) predicate)
Source

compatibility.lisp.

Method: every-element-p ((container list) predicate)
Source

compatibility.lisp.

Method: every-element-p ((container iteratable-container-mixin) (predicate function))
Source

basic-operations.lisp.

Generic Function: every-item-p (container predicate)

Returns true if every item in the container satisfies the
predicate. Predicate should be a function of one argument for iteratable containers and a function of two arguments for associative containers.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: every-item-p ((container vector) (predicate function))
Source

compatibility.lisp.

Method: every-item-p ((container list) (predicate function))
Source

compatibility.lisp.

Method: every-item-p ((container iteratable-container-mixin) (predicate function))
Source

basic-operations.lisp.

Generic Function: every-key-value-p (container predicate)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: every-key-value-p ((container associative-container-mixin) predicate)
Source

associative.lisp.

Generic Function: existing-subclass (class-type class-list)
Package

metabang.cl-containers.

Source

dynamic-classes.lisp.

Methods
Method: existing-subclass ((class-type (eql :generator)) class-list)
Source

dynamic-class-defs.lisp.

Method: existing-subclass ((class-type (eql :iterator)) class-list)
Source

dynamic-class-defs.lisp.

Method: existing-subclass ((class-type (eql nil)) class-list)
Generic Reader: exported-symbols-only-p (object)
Package

metabang.cl-containers.

Methods
Reader Method: exported-symbols-only-p ((package-container package-container))

automatically generated reader method

Source

package-container.lisp.

Target Slot

exported-symbols-only-p.

Generic Writer: (setf exported-symbols-only-p) (object)
Package

metabang.cl-containers.

Methods
Writer Method: (setf exported-symbols-only-p) ((package-container package-container))

automatically generated writer method

Source

package-container.lisp.

Target Slot

exported-symbols-only-p.

Generic Function: find-child-node (node child &key test key)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: find-child-node ((node many-child-node) child &key test key)
Source

trees.lisp.

Generic Function: find-element (findable-container-mixin thing)

For now, compare find-item.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: find-element ((q priority-queue-on-container) item)
Source

queues.lisp.

Method: find-element ((container container-uses-nodes-mixin) thing)
Source

basic-operations.lisp.

Generic Function: find-item (findable-container-mixin item)

Find item in container using the container’s test
method for comparisons. The test method must take two parameters. The first will be the item being searched for; the second will be an item in the container. If the container has a key (keyed-container-mixin), then the test is performed on the item and the key of each element in the container. Find-item returns nil if the item is not found and it returns the element in the container if it is.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: find-item ((tree quad-tree) (item quad-tree-node))
Source

quad-tree.lisp.

Method: find-item ((list list) item)
Source

compatibility.lisp.

Method: find-item ((container keyed-bag/set-container) item)
Source

bags-and-sets.lisp.

Method: find-item ((container bag/set-container) item)
Source

bags-and-sets.lisp.

Method: find-item ((container abstract-bag/set-container) item)
Source

bags-and-sets.lisp.

Method: find-item ((container list-container) item)
Source

lists.lisp.

Method: find-item ((tree splay-tree) (node bst-node))
Source

trees.lisp.

Method: find-item ((tree binary-search-tree) (item bst-node))
Source

trees.lisp.

Method: find-item ((q priority-queue-on-container) item)
Source

queues.lisp.

Method: find-item ((container container-uses-nodes-mixin) item)
Source

basic-operations.lisp.

Method: find-item ((container contents-as-hashtable-mixin) item)
Source

basic-operations.lisp.

Method: find-item ((container contents-as-array-mixin) item)
Source

basic-operations.lisp.

Generic Function: find-node (findable-container-mixin thing)

Find node containing thing in container using the container’s test
method for comparisons. The test method must take two parameters. The
first will be the item being searched for; the second will be an item
in the container. If the container has a key (keyed-container-mixin),
then the test is performed on the item and the key of each element
in the container. Find-item returns nil if the thing is not found and it returns the node in the container if it is. Find-node is the same as find-element for containers that do not use nodes.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: find-node ((tree binary-search-tree) item)
Source

trees.lisp.

Method: find-node ((q priority-queue-on-container) item)
Source

queues.lisp.

Generic Function: find-set (item)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: find-set (item)
Source

union-find-container.lisp.

Generic Function: find-successor-node (tree item)
Package

metabang.cl-containers.

Methods
Method: find-successor-node ((tree binary-search-tree) item)
Source

trees.lisp.

Generic Function: find-value (container item)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: find-value ((container bag/set-container) item)
Source

bags-and-sets.lisp.

Method: find-value ((container contents-as-hashtable-mixin) item)
Source

basic-operations.lisp.

Generic Function: finish (iterator)

Tell Lisp that you are done with this iterator. Further calls to current-element, etc. will have unspecified behavior and may cause an error.

Package

metabang.cl-containers.

Source

iterator-api.lisp.

Methods
Method: finish ((iterator basic-stream-iterator))
Source

file-iterators.lisp.

Method: finish ((iterator abstract-generator))
Source

iterators.lisp.

Generic Function: first-element (x)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: first-element ((array array))
Source

compatibility.lisp.

Method: first-element ((vector vector))
Source

compatibility.lisp.

Method: first-element ((list list))
Source

compatibility.lisp.

Method: first-element ((container ring-buffer))

Equivalent to ‘first-item’.

Source

ring-buffers.lisp.

Reader Method: first-element ((dlist-container dlist-container))

automatically generated reader method

Source

lists.lisp.

Target Slot

first-element.

Method: first-element ((container sorted-list-container))
Source

lists.lisp.

Method: first-element ((container list-container))
Source

lists.lisp.

Method: first-element ((tree binary-search-tree))
Source

trees.lisp.

Method: first-element ((node bst-node))
Source

trees.lisp.

Method: first-element ((container vector-container-mixin))
Source

vectors.lisp.

Method: first-element ((container stack-container))
Source

stacks.lisp.

Method: first-element ((q basic-queue))

Returns the first item in a queue without changing the queue.

Source

queues.lisp.

Method: first-element ((q priority-queue-on-container))
Source

queues.lisp.

Method: first-element :before ((q abstract-queue))
Source

queues.lisp.

Method: first-element ((container iteratable-container-mixin))
Source

basic-operations.lisp.

Generic Function: (setf first-element) (y)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: (setf first-element) ((array array))
Source

compatibility.lisp.

Method: (setf first-element) ((vector vector))
Source

compatibility.lisp.

Method: (setf first-element) ((list list))
Source

compatibility.lisp.

Method: (setf first-element) ((container ring-buffer))
Source

ring-buffers.lisp.

Writer Method: (setf first-element) ((dlist-container dlist-container))

automatically generated writer method

Source

lists.lisp.

Target Slot

first-element.

Method: (setf first-element) ((container sorted-list-container))
Source

lists.lisp.

Method: (setf first-element) ((container list-container))
Source

lists.lisp.

Method: (setf first-element) ((tree binary-search-tree))
Source

trees.lisp.

Method: (setf first-element) ((node bst-node))
Source

trees.lisp.

Method: (setf first-element) ((container vector-container-mixin))
Source

vectors.lisp.

Method: (setf first-element) ((container stack-container))
Source

stacks.lisp.

Method: (setf first-element) ((stack abstract-stack))
Source

stacks.lisp.

Method: (setf first-element) ((q basic-queue))

Returns the first item in a queue without changing the queue.

Source

queues.lisp.

Method: (setf first-element) ((q priority-queue-on-container))
Source

queues.lisp.

Method: (setf first-element) ((container iteratable-container-mixin))
Source

basic-operations.lisp.

Generic Function: force-sort (container)

This method forces a sort on the next pertinent access of the container.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: force-sort ((list sorted-dlist-container))
Source

lists.lisp.

Method: force-sort ((container sorted-list-container))
Source

lists.lisp.

Generic Function: graft-nodes (node1 node2)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: graft-nodes (node1 node2)
Source

union-find-container.lisp.

Generic Function: include-class-dependencies (class-type dynamic-class class-list &rest parameters &key treat-contents-as &allow-other-keys)
Package

metabang.cl-containers.

Source

dynamic-classes.lisp.

Methods
Method: include-class-dependencies ((class-type (eql :iterator)) dynamic-class class-list &rest parameters &key treat-contents-as &allow-other-keys)
Source

dynamic-class-defs.lisp.

Method: include-class-dependencies ((class-type (eql nil)) dynamic-class class-list &rest parameters)
Generic Reader: initial-element (object)
Package

metabang.cl-containers.

Methods
Reader Method: initial-element ((initial-element-mixin initial-element-mixin))

automatically generated reader method

Source

containers.lisp.

Target Slot

initial-element.

Generic Writer: (setf initial-element) (object)
Package

metabang.cl-containers.

Methods
Writer Method: (setf initial-element) ((initial-element-mixin initial-element-mixin))

automatically generated writer method

Source

containers.lisp.

Target Slot

initial-element.

Generic Reader: initial-element-fn (object)
Package

metabang.cl-containers.

Methods
Reader Method: initial-element-fn ((initial-element-mixin initial-element-mixin))

automatically generated reader method

Source

containers.lisp.

Target Slot

initial-element-fn.

Generic Function: inorder-walk (tree walk-fn)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: inorder-walk ((tree binary-search-tree) walk-fn)
Source

trees.lisp.

Generic Function: insert-item (non-associative-container-mixin item)

Adds item to the container

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: insert-item ((container union-find-container) item)
Source

union-find-container.lisp.

Method: insert-item :around ((heap k-best-heap-container) item)
Source

heaps.lisp.

Method: insert-item ((heap heap-container) (node heap-node))
Source

heaps.lisp.

Method: insert-item ((tree quad-tree) (item quad-tree-node))
Source

quad-tree.lisp.

Method: insert-item ((container ring-buffer) item)
Source

ring-buffers.lisp.

Method: insert-item ((container keyed-bag/set-container) item)
Source

bags-and-sets.lisp.

Method: insert-item ((container bag/set-container) item)
Source

bags-and-sets.lisp.

Method: insert-item ((container set-container) item)
Source

bags-and-sets.lisp.

Method: insert-item ((container bag-container) item)
Source

bags-and-sets.lisp.

Method: insert-item ((list sorted-dlist-container) (node dlist-container-node))
Source

lists.lisp.

Method: insert-item ((list dlist-container) (node dlist-container-node))
Source

lists.lisp.

Method: insert-item ((container sorted-list-container) item)
Source

lists.lisp.

Method: insert-item :after ((tree splay-tree) (node bst-node))
Source

trees.lisp.

Method: insert-item :after ((tree red-black-tree) (item bst-node))
Source

trees.lisp.

Method: insert-item ((tree binary-search-tree) (item bst-node))
Source

trees.lisp.

Method: insert-item ((container vector-container) item)
Source

vectors.lisp.

Method: insert-item ((container stack-container) item)
Source

stacks.lisp.

Method: insert-item ((q basic-queue) item)

Add an item to the queue.

Source

queues.lisp.

Method: insert-item ((q priority-queue-on-container) item)
Source

queues.lisp.

Method: insert-item ((container container-uses-nodes-mixin) item)
Source

basic-operations.lisp.

Method: insert-item ((container contents-as-list-mixin) item)
Source

basic-operations.lisp.

Generic Function: insert-item-after (list node new-node)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: insert-item-after ((list dlist-container) (node dlist-container-node) (new-node dlist-container-node))
Source

lists.lisp.

Method: insert-item-after ((list dlist-container) (node dlist-container-node) item)
Source

lists.lisp.

Method: insert-item-after ((list dlist-container) node (new-node dlist-container-node))
Source

lists.lisp.

Method: insert-item-after ((list dlist-container) node item)
Source

lists.lisp.

Generic Function: insert-item-at (container item index)

Inserts item at the specified index, increasing the index of all following elements

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: insert-item-at ((container vector-container) item index)
Source

vectors.lisp.

Generic Function: insert-item-before (list node new-node)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: insert-item-before ((list dlist-container) (node dlist-container-node) (new-node dlist-container-node))
Source

lists.lisp.

Method: insert-item-before ((list dlist-container) (node dlist-container-node) item)
Source

lists.lisp.

Method: insert-item-before ((list dlist-container) node item)
Source

lists.lisp.

Generic Function: insert-item-ordered (list new-node)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: insert-item-ordered ((list sorted-dlist-container) new-node)
Source

lists.lisp.

Method: insert-item-ordered ((list sorted-dlist-container) (new-node dlist-container-node))
Source

lists.lisp.

Generic Function: insert-item-ordered-about-node (list node new-node)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: insert-item-ordered-about-node ((list sorted-dlist-container) node new-node)
Source

lists.lisp.

Method: insert-item-ordered-about-node ((list sorted-dlist-container) node (new-node dlist-container-node))
Source

lists.lisp.

Method: insert-item-ordered-about-node ((list sorted-dlist-container) (node dlist-container-node) (new-node dlist-container-node))
Source

lists.lisp.

Generic Function: insert-list (non-associative-container-mixin list)

Adds each item in the list to the container in an upspecified order.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: insert-list ((container sorted-list-container) list)
Source

lists.lisp.

Method: insert-list ((container list-container) list)
Source

lists.lisp.

Method: insert-list ((container non-associative-container-mixin) list)
Source

basic-operations.lisp.

Generic Function: insert-new-item (non-associative-container-mixin item &key test key)

Adds item to the container unless it is already there

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: insert-new-item ((container searchable-container-mixin) item &key test key)
Source

basic-operations.lisp.

Generic Function: insert-sequence (non-associative-container-mixin sequence)

Adds each item in the sequence to the container in an upspecified order.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: insert-sequence ((container ordered-container-mixin) (sequence iteratable-container-mixin))
Source

basic-operations.lisp.

Method: insert-sequence ((container ordered-container-mixin) (sequence list))
Source

basic-operations.lisp.

Method: insert-sequence ((container ordered-container-mixin) (sequence array))
Source

basic-operations.lisp.

Generic Function: item-at (indexed-container-mixin &rest indexes)

Returns the item specified by the indexes.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: item-at ((container list) &rest indexes)
Source

compatibility.lisp.

Method: item-at ((hash-table hash-table) &rest indexes)
Source

compatibility.lisp.

Method: item-at ((array array) &rest indexes)
Source

compatibility.lisp.

Method: item-at :around ((container keyed-associative-container) &rest indexes)
Source

associative.lisp.

Method: item-at ((container alist-container) &rest indexes)
Source

associative.lisp.

Method: item-at ((container associative-container) &rest indexes)
Source

associative.lisp.

Method: item-at ((container simple-associative-container) &rest indexes)
Source

associative.lisp.

Method: item-at ((container sparse-array-container) &rest indexes)
Source

associative.lisp.

Method: item-at ((container array-container) &rest indexes)
Source

associative.lisp.

Method: item-at ((container ring-buffer) &rest indexes)

Return the ring-buffer element corresponding to the given index.
The indexing is from oldest to newest with a ‘ring-buffer’ and from newest to oldest with a ‘ring-buffer-reverse’.
Warning: Only the first element of INDEXES is used.

Source

ring-buffers.lisp.

Method: item-at ((list dlist-container) &rest indexes)
Source

lists.lisp.

Method: item-at ((container sorted-list-container) &rest indexes)
Source

lists.lisp.

Method: item-at ((container list-container) &rest indexes)
Source

lists.lisp.

Method: item-at ((tree splay-tree) &rest indexes)
Source

trees.lisp.

Method: item-at ((tree binary-search-tree) &rest indexes)
Source

trees.lisp.

Method: item-at ((container vector-container-mixin) &rest indices)
Source

vectors.lisp.

Method: item-at ((container associative-array) &rest indexes)
Source

basic-operations.lisp.

Method: item-at ((object stable-associative-container) &rest indexes)
Source

basic-operations.lisp.

Generic Function: (setf item-at) (container &rest indexes)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: (setf item-at) (container &rest indexes)
Source

containers.lisp.

Generic Function: item-at! (indexed-container-mixin value &rest indexes)

[Destructively] modifies the item specified by the indexes to the value.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: item-at! (value (hash-table hash-table) &rest indexes)
Source

compatibility.lisp.

Method: item-at! ((array array) value &rest indexes)
Source

compatibility.lisp.

Method: item-at! :around ((container keyed-associative-container) value &rest indexes)
Source

associative.lisp.

Method: item-at! ((container alist-container) value &rest indexes)
Source

associative.lisp.

Method: item-at! ((container associative-container) value &rest indexes)
Source

associative.lisp.

Method: item-at! ((container simple-associative-container) value &rest indexes)
Source

associative.lisp.

Method: item-at! ((container sparse-array-container) value &rest indexes)
Source

associative.lisp.

Method: item-at! ((container array-container) value &rest indexes)
Source

associative.lisp.

Method: item-at! ((container ring-buffer) value &rest indexes)
Source

ring-buffers.lisp.

Method: item-at! :before ((container flexible-vector-container) value &rest indices)
Source

vectors.lisp.

Method: item-at! ((container vector-container-mixin) value &rest indices)
Source

vectors.lisp.

Method: item-at! ((container associative-array) value &rest indexes)
Source

basic-operations.lisp.

Method: item-at! ((object stable-associative-container) value &rest indexes)
Source

basic-operations.lisp.

Generic Function: item-at-1 (container index)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: item-at-1 ((container list) index)
Source

compatibility.lisp.

Method: item-at-1 ((hash-table hash-table) index)
Source

compatibility.lisp.

Method: item-at-1 ((container alist-container) index)
Source

associative.lisp.

Method: item-at-1 ((container simple-associative-container) index)
Source

associative.lisp.

Generic Function: (setf item-at-1) (container index)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: (setf item-at-1) (container index)
Source

associative.lisp.

Generic Function: item-at-1! (hash-table value index)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: item-at-1! ((hash-table hash-table) value index)
Source

compatibility.lisp.

Method: item-at-1! ((container alist-container) value index)
Source

associative.lisp.

Method: item-at-1! ((container simple-associative-container) value index)
Source

associative.lisp.

Generic Function: iteratable-p (thing)

Returns true if thing knows how to iterate-nodes.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: iteratable-p ((thing hash-table))
Source

compatibility.lisp.

Method: iteratable-p ((thing array))
Source

compatibility.lisp.

Method: iteratable-p ((thing vector))
Source

compatibility.lisp.

Method: iteratable-p ((thing list))
Source

compatibility.lisp.

Method: iteratable-p ((thing iteratable-container-mixin))
Source

containers.lisp.

Method: iteratable-p (thing)
Generic Function: iterate-children (node fn)

Calls ‘fn‘ on every child of ‘node‘.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: iterate-children ((node many-child-node) fn)
Source

trees.lisp.

Generic Function: iterate-container (iterator fn)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: iterate-container ((iterator forward-iterator) fn)
Source

iterators.lisp.

Method: iterate-container (object fn)
Source

containers.lisp.

Generic Function: iterate-elements (graph fn)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: iterate-elements ((container package-container) fn)
Source

package-container.lisp.

Method: iterate-elements :around ((container filtered-container-mixin) fn)
Source

container-mixins.lisp.

Method: iterate-elements ((hash-table hash-table) fn)
Source

compatibility.lisp.

Method: iterate-elements ((array array) fn)
Source

compatibility.lisp.

Method: iterate-elements ((vector vector) fn)
Source

compatibility.lisp.

Method: iterate-elements ((list list) fn)
Source

compatibility.lisp.

Method: iterate-elements ((list null) fn)
Source

compatibility.lisp.

Method: iterate-elements ((q priority-queue-on-container) fn)
Source

queues.lisp.

Method: iterate-elements ((container container-uses-nodes-mixin) fn)
Source

basic-operations.lisp.

Method: iterate-elements ((container abstract-container) fn)
Source

basic-operations.lisp.

Generic Function: iterate-elements-stably (container fn)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: iterate-elements-stably ((container stable-associative-container) fn)
Source

basic-operations.lisp.

Generic Function: iterate-forward (iterator function)
Package

metabang.cl-containers.

Source

iterator-api.lisp.

Methods
Method: iterate-forward ((iterator basic-iterator) function)
Source

iterators.lisp.

Generic Function: iterate-key-value (container function)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: iterate-key-value :around ((container filtered-container-mixin) fn)
Source

container-mixins.lisp.

Method: iterate-key-value ((container list) function)
Source

compatibility.lisp.

Method: iterate-key-value ((hash-table hash-table) fn)
Source

compatibility.lisp.

Method: iterate-key-value ((container (eql nil)) fn)
Source

associative.lisp.

Method: iterate-key-value ((container alist-container) function)
Source

associative.lisp.

Method: iterate-key-value ((container contents-as-hashtable-mixin) function)
Source

associative.lisp.

Method: iterate-key-value ((container simple-associative-container) function)
Source

associative.lisp.

Method: iterate-key-value ((container stable-associative-container) fn)
Source

basic-operations.lisp.

Generic Function: iterate-key-value-stably (container fn)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: iterate-key-value-stably ((container stable-associative-container) fn)
Source

basic-operations.lisp.

Generic Function: iterate-keys (container function)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: iterate-keys ((container alist-container) function)
Source

associative.lisp.

Method: iterate-keys ((container stable-associative-container) fn)
Source

basic-operations.lisp.

Method: iterate-keys ((container contents-as-hashtable-mixin) function)
Source

basic-operations.lisp.

Generic Function: iterate-left (list item fn &optional inclusive?)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: iterate-left ((list sorted-dlist-container) item fn &optional inclusive?)
Source

lists.lisp.

Method: iterate-left ((list sorted-dlist-container) (item i-know-my-node-mixin) fn &optional inclusive?)
Source

lists.lisp.

Method: iterate-left ((list sorted-dlist-container) (item dlist-container-node) fn &optional inclusive?)
Source

lists.lisp.

Generic Function: iterate-left-nodes (list item fn)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: iterate-left-nodes ((list sorted-dlist-container) item fn)
Source

lists.lisp.

Method: iterate-left-nodes ((list sorted-dlist-container) (item i-know-my-node-mixin) fn)
Source

lists.lisp.

Method: iterate-left-nodes ((list sorted-dlist-container) (item dlist-container-node) fn)
Source

lists.lisp.

Generic Function: iterate-nodes (iteratable-container-mixin function)

Applies function to each node in the container. If the container doesn’t have nodes, then this is equivalent to iterate-elements.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: iterate-nodes ((iterator forward-iterator) fn)
Source

iterators.lisp.

Method: iterate-nodes ((hash-table hash-table) fn)
Source

compatibility.lisp.

Method: iterate-nodes ((array array) fn)
Source

compatibility.lisp.

Method: iterate-nodes ((vector vector) fn)
Source

compatibility.lisp.

Method: iterate-nodes ((list list) fn)
Source

compatibility.lisp.

Method: iterate-nodes ((list null) fn)
Source

compatibility.lisp.

Method: iterate-nodes ((container alist-container) function)
Source

associative.lisp.

Method: iterate-nodes ((container array-container) fn)
Source

associative.lisp.

Method: iterate-nodes ((container ring-buffer) fn)
Source

ring-buffers.lisp.

Method: iterate-nodes ((container keyed-bag/set-container) fn)
Source

bags-and-sets.lisp.

Method: iterate-nodes ((container bag/set-container) fn)
Source

bags-and-sets.lisp.

Method: iterate-nodes ((list dlist-container) fn)
Source

lists.lisp.

Method: iterate-nodes ((container sorted-list-container) fn)
Source

lists.lisp.

Method: iterate-nodes ((tree binary-search-tree) fn)
Source

trees.lisp.

Method: iterate-nodes ((q basic-queue) fn)
Source

queues.lisp.

Method: iterate-nodes ((q priority-queue-on-container) fn)
Source

queues.lisp.

Method: iterate-nodes ((container associative-array) fn)
Source

basic-operations.lisp.

Method: iterate-nodes ((container stable-associative-container) fn)
Source

basic-operations.lisp.

Method: iterate-nodes ((container contents-as-hashtable-mixin) fn)
Source

basic-operations.lisp.

Method: iterate-nodes ((container contents-as-array-mixin) function)
Source

basic-operations.lisp.

Method: iterate-nodes ((object uses-contents-mixin) fn)
Source

containers.lisp.

Generic Function: iterate-right (list item fn &optional inclusive?)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: iterate-right ((list sorted-dlist-container) item fn &optional inclusive?)
Source

lists.lisp.

Method: iterate-right ((list sorted-dlist-container) (item i-know-my-node-mixin) fn &optional inclusive?)
Source

lists.lisp.

Method: iterate-right ((list sorted-dlist-container) (item dlist-container-node) fn &optional inclusive?)
Source

lists.lisp.

Generic Function: iterate-right-nodes (list item fn)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: iterate-right-nodes ((list sorted-dlist-container) item fn)
Source

lists.lisp.

Method: iterate-right-nodes ((list sorted-dlist-container) (item i-know-my-node-mixin) fn)
Source

lists.lisp.

Method: iterate-right-nodes ((list sorted-dlist-container) (item dlist-container-node) fn)
Source

lists.lisp.

Generic Function: iterate-value-key (container function)
Package

metabang.cl-containers.

Source

container-api.lisp.

Generic Reader: iterator (condition)
Package

metabang.cl-containers.

Methods
Reader Method: iterator ((internal-iterator-mixin internal-iterator-mixin))

automatically generated reader method

Source

file-iterators.lisp.

Target Slot

iterator.

Reader Method: iterator ((condition basic-iterator-condition))
Source

iterators.lisp.

Target Slot

iterator.

Generic Reader: k-best-number (object)
Package

metabang.cl-containers.

Methods
Reader Method: k-best-number ((k-best-heap-container k-best-heap-container))

automatically generated reader method

Source

heaps.lisp.

Target Slot

k.

Generic Writer: (setf k-best-number) (object)
Package

metabang.cl-containers.

Methods
Writer Method: (setf k-best-number) ((k-best-heap-container k-best-heap-container))

automatically generated writer method

Source

heaps.lisp.

Target Slot

k.

Generic Function: key-exists-p (container &rest indexes)
Package

metabang.cl-containers.

Source

associative.lisp.

Methods
Method: key-exists-p ((container associative-container-mixin) &rest indexes)
Generic Function: key-value-iteratable-p (thing)

Returns true if thing knows how to iterate-nodes.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: key-value-iteratable-p ((thing key-value-iteratable-container-mixin))
Source

containers.lisp.

Method: key-value-iteratable-p (thing)
Generic Function: last-element (x)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: last-element ((array array))
Source

compatibility.lisp.

Method: last-element ((vector vector))
Source

compatibility.lisp.

Method: last-element ((list list))
Source

compatibility.lisp.

Method: last-element ((container ring-buffer))

Equivalent to ‘last-item’.

Source

ring-buffers.lisp.

Reader Method: last-element ((dlist-container dlist-container))

automatically generated reader method

Source

lists.lisp.

Target Slot

last-element.

Method: last-element ((container list-container))
Source

lists.lisp.

Method: last-element ((tree binary-search-tree))
Source

trees.lisp.

Method: last-element ((node bst-node))
Source

trees.lisp.

Method: last-element ((v vector-container-mixin))
Source

vectors.lisp.

Generic Function: (setf last-element) (y)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: (setf last-element) ((array array))
Source

compatibility.lisp.

Method: (setf last-element) ((vector vector))
Source

compatibility.lisp.

Method: (setf last-element) ((list list))
Source

compatibility.lisp.

Method: (setf last-element) ((container ring-buffer))
Source

ring-buffers.lisp.

Writer Method: (setf last-element) ((dlist-container dlist-container))

automatically generated writer method

Source

lists.lisp.

Target Slot

last-element.

Method: (setf last-element) ((container list-container))
Source

lists.lisp.

Method: (setf last-element) ((tree binary-search-tree))
Source

trees.lisp.

Method: (setf last-element) ((node bst-node))
Source

trees.lisp.

Method: (setf last-element) ((v vector-container-mixin))
Source

vectors.lisp.

Generic Function: left-and-right-nodes-for-item (list item)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: left-and-right-nodes-for-item ((list sorted-dlist-container) item)
Source

lists.lisp.

Generic Function: left-node-for-item (list item)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: left-node-for-item ((list sorted-dlist-container) item)
Source

lists.lisp.

Generic Function: make-container (class &rest args)

Creates a new container of type class using the additional arguments (args).

Package

metabang.cl-containers.

Source

basic-operations.lisp.

Methods
Method: make-container ((classes list) &rest args)
Source

dynamic-class-defs.lisp.

Method: make-container ((class (eql metabang.cl-containers:array-container)) &rest args)
Source

associative.lisp.

Method: make-container ((class (eql metabang.cl-containers:ring-buffer)) &rest args)
Source

ring-buffers.lisp.

Method: make-container ((class symbol) &rest args)
Generic Function: make-iterator (iteratee &rest args &key iterator-class &allow-other-keys)
Package

metabang.cl-containers.

Source

iterator-api.lisp.

Methods
Method: make-iterator ((iteratee basic-iterator) &rest args &key &allow-other-keys)
Source

iterators.lisp.

Method: make-iterator (iteratee &rest args &key iterator-class &allow-other-keys)
Source

iterators.lisp.

Generic Function: make-node-for-container (container item &key)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: make-node-for-container ((heap heap-container) element &key)
Source

heaps.lisp.

Method: make-node-for-container ((tree quad-tree) item &key)
Source

quad-tree.lisp.

Method: make-node-for-container ((container dlist-container) item &rest args)
Source

lists.lisp.

Method: make-node-for-container ((tree red-black-tree) item &key)
Source

trees.lisp.

Method: make-node-for-container ((tree binary-search-tree) item &key)
Source

trees.lisp.

Method: make-node-for-container :around (container (item i-know-my-node-mixin) &key)
Source

containers.lisp.

Generic Function: move (iterator direction)
Package

metabang.cl-containers.

Source

iterator-api.lisp.

Methods
Method: move ((iterator delimited-iterator) (direction (eql :forward)))
Source

file-iterators.lisp.

Method: move ((iterator file-form-iterator) (direction (eql :forward)))
Source

file-iterators.lisp.

Method: move ((iterator file-line-iterator) (direction (eql :forward)))
Source

file-iterators.lisp.

Method: move ((iterator file-iterator) (direction (eql :forward)))
Source

file-iterators.lisp.

Method: move ((iterator arithmetic-sequence-generator) (direction (eql :forward)))
Source

iterators.lisp.

Method: move ((iterator array-iterator) (direction (eql :forward)))
Source

iterators.lisp.

Method: move ((iterator list-iterator) (direction (eql :forward)))
Source

iterators.lisp.

Method: move :after ((iterator basic-filtered-iterator-mixin) (direction (eql :forward)))
Source

iterators.lisp.

Method: move :after ((iterator transforming-iterator-mixin) direction)
Source

iterators.lisp.

Method: move :around ((iterator basic-iterator) direction)
Source

iterators.lisp.

Generic Function: move-forward (iterator)
Package

metabang.cl-containers.

Source

iterator-api.lisp.

Methods
Method: move-forward ((iterator forward-iterator))
Source

iterators.lisp.

Generic Function: move-p (iterator direction)
Package

metabang.cl-containers.

Source

iterator-api.lisp.

Methods
Method: move-p ((iterator delimited-iterator) (direction (eql :forward)))
Source

file-iterators.lisp.

Method: move-p ((iterator file-form-iterator) (direction (eql :forward)))
Source

file-iterators.lisp.

Method: move-p ((iterator file-line-iterator) (direction (eql :forward)))
Source

file-iterators.lisp.

Method: move-p ((iterator file-iterator) (direction (eql :forward)))
Source

file-iterators.lisp.

Method: move-p ((iterator finite-arithmetic-sequence-generator) (direction (eql :forward)))
Source

iterators.lisp.

Method: move-p ((iterator arithmetic-sequence-generator) (direction (eql :forward)))
Source

iterators.lisp.

Method: move-p ((iterator array-iterator) (direction (eql :forward)))
Source

iterators.lisp.

Method: move-p ((iterator list-iterator) (direction (eql :forward)))
Source

iterators.lisp.

Method: move-p ((iterator circular-iterator-mixin) (direction (eql :forward)))
Source

iterators.lisp.

Method: move-p ((iterator abstract-generator) direction)
Source

iterators.lisp.

Generic Reader: my-node (object)
Package

metabang.cl-containers.

Methods
Reader Method: my-node ((i-know-my-node-mixin i-know-my-node-mixin))

automatically generated reader method

Source

containers.lisp.

Target Slot

my-node.

Generic Writer: (setf my-node) (object)
Package

metabang.cl-containers.

Methods
Writer Method: (setf my-node) ((i-know-my-node-mixin i-know-my-node-mixin))

automatically generated writer method

Source

containers.lisp.

Target Slot

my-node.

Generic Function: next-item (x)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: next-item ((container ring-buffer))
Source

ring-buffers.lisp.

Reader Method: next-item ((dlist-container-node dlist-container-node))

automatically generated reader method

Source

lists.lisp.

Target Slot

next-item.

Generic Writer: (setf next-item) (object)
Package

metabang.cl-containers.

Methods
Writer Method: (setf next-item) ((dlist-container-node dlist-container-node))

automatically generated writer method

Source

lists.lisp.

Target Slot

next-item.

Generic Function: notify-element-of-child-status (element status)

This is called to allow the element to know its
status as a child. Useful for quad tree elements, where an element’s position relative to its parent could be relevant to the element. Status is one of: :TOP-LEFT, :TOP-RIGHT, :BOTTOM-LEFT, :BOTTOM-RIGHT or :ROOT

Package

metabang.cl-containers.

Source

quad-tree.lisp.

Methods
Method: notify-element-of-child-status (element status)
Generic Function: nth-element (container index)

Returns the nth element in the container’s ’natural’ order.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: nth-element ((container array) (index number))
Source

compatibility.lisp.

Method: nth-element ((container vector) (index number))
Source

compatibility.lisp.

Method: nth-element ((list list) (n integer))
Source

compatibility.lisp.

Method: nth-element ((container array-container) (index integer))
Source

associative.lisp.

Method: nth-element ((container list-container) (index integer))
Source

lists.lisp.

Method: nth-element ((container vector-container-mixin) (index integer))
Source

vectors.lisp.

Method: nth-element ((container iteratable-container-mixin) (index integer))
Source

basic-operations.lisp.

Method: nth-element :around (container (index integer))
Source

basic-operations.lisp.

Generic Function: nth-item (container index)

Returns the nth item in the container’s ’natural’ order. This is the same as nth-element unless the contaienr is of type container-uses-nodes-mixin.

Package

metabang.cl-containers.

Source

container-api.lisp.

Generic Reader: packages (object)
Package

metabang.cl-containers.

Methods
Reader Method: packages ((package-container package-container))

automatically generated reader method

Source

package-container.lisp.

Target Slot

packages.

Generic Function: (setf packages) (container)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: (setf packages) ((container package-container))
Source

package-container.lisp.

Method: (setf packages) ((container package-container))
Source

package-container.lisp.

Generic Function: pop-item (abstract-stack)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: pop-item ((container stack-container))
Source

stacks.lisp.

Generic Function: postorder-walk (tree walk-fn)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: postorder-walk ((tree binary-search-tree) walk-fn)
Source

trees.lisp.

Generic Function: predecessor (sorted-container-mixin item)

Return the item that comes *before* item in the container. Only makes sense for sorted containers. Raises an element-not-found-error if the item isn’t present in the container.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: predecessor ((container dlist-container) (node dlist-container-node))
Source

lists.lisp.

Method: predecessor ((tree binary-search-tree) (node bst-node))
Source

trees.lisp.

Method: predecessor ((container container-uses-nodes-mixin) item)
Source

basic-operations.lisp.

Generic Function: preorder-walk (tree walk-fn)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: preorder-walk ((tree binary-search-tree) walk-fn)
Source

trees.lisp.

Generic Reader: present-symbols-only-p (object)
Package

metabang.cl-containers.

Methods
Reader Method: present-symbols-only-p ((package-container package-container))

automatically generated reader method

Source

package-container.lisp.

Target Slot

present-symbols-only-p.

Generic Writer: (setf present-symbols-only-p) (object)
Package

metabang.cl-containers.

Methods
Writer Method: (setf present-symbols-only-p) ((package-container package-container))

automatically generated writer method

Source

package-container.lisp.

Target Slot

present-symbols-only-p.

Generic Reader: previous-item (object)
Package

metabang.cl-containers.

Methods
Reader Method: previous-item ((dlist-container-node dlist-container-node))

automatically generated reader method

Source

lists.lisp.

Target Slot

previous-item.

Generic Writer: (setf previous-item) (object)
Package

metabang.cl-containers.

Methods
Writer Method: (setf previous-item) ((dlist-container-node dlist-container-node))

automatically generated writer method

Source

lists.lisp.

Target Slot

previous-item.

Generic Function: print-container (iteratable-container-mixin &optional stream)

Prints the contents of container (using PRINT). Returns the container.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: print-container ((hash-table hash-table) &optional stream)
Source

compatibility.lisp.

Method: print-container ((container stable-associative-container) &optional stream)
Source

associative.lisp.

Method: print-container ((container associative-container) &optional stream)
Source

associative.lisp.

Method: print-container ((container sorted-list-container) &optional stream)
Source

lists.lisp.

Method: print-container ((container list-container) &optional stream)
Source

lists.lisp.

Method: print-container ((container iteratable-container-mixin) &optional stream)
Source

basic-operations.lisp.

Generic Function: push-item (stack item)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: push-item ((stack abstract-stack) item)
Source

stacks.lisp.

Generic Function: reduce-container (container function &rest args &key key initial-value start end)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: reduce-container ((container iteratable-container-mixin) function &rest args &key key initial-value start end)
Source

basic-operations.lisp.

Generic Function: reduce-elements (container function &key key initial-value start end)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: reduce-elements ((container list) function &key key initial-value start end)
Source

compatibility.lisp.

Method: reduce-elements ((container iteratable-container-mixin) function &key key initial-value start end)
Source

basic-operations.lisp.

Generic Function: reduce-nodes (container function &key key initial-value start end)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: reduce-nodes ((container iteratable-container-mixin) function &key key initial-value start end)
Source

basic-operations.lisp.

Generic Function: remove-items-if (container test)

Removes items from a container that satisfy the test. The container is returned.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: remove-items-if ((container associative-container-mixin) test)
Source

associative.lisp.

Method: remove-items-if ((container iteratable-container-mixin) test)
Source

associative.lisp.

Generic Function: replace-item (list node start-item &key length finish-item)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: replace-item ((list dlist-container) (node dlist-container-node) (start-item dlist-container-node) &key length finish-item)
Source

lists.lisp.

Method: replace-item ((list dlist-container) (node dlist-container-node) item &key length finish-item)
Source

lists.lisp.

Generic Function: representative (container item)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: representative ((container union-find-container) item)
Source

union-find-container.lisp.

Generic Function: representative-node (container item)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: representative-node ((container union-find-container) item)
Source

union-find-container.lisp.

Generic Function: reverse-container (ordered-container-mixin)

Destructively alters the elements/nodes of an ordered container so that they are reversed.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: reverse-container ((container ordered-container-mixin))
Source

basic-operations.lisp.

Generic Function: reverse-find (contents-as-hashtable-mixin value &key test)

Finds the key in the associative-container whose value is VALUE.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: reverse-find ((container alist-container) value &key test)
Source

associative.lisp.

Method: reverse-find ((container contents-as-hashtable-mixin) value &key test)
Source

basic-operations.lisp.

Generic Function: right-node-for-item (list item)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: right-node-for-item ((list sorted-dlist-container) item)
Source

lists.lisp.

Generic Function: sample-element (container generator)

Return an element of the container uniformly at random using the generator.

Package

metabang.cl-containers.

Source

container-api.lisp.

Generic Function: sample-elements (container generator count)

Return a list of count elements of the container uniformly at random using the generator. The sampling is done _with_ replacement.

Package

metabang.cl-containers.

Source

container-api.lisp.

Generic Function: sample-item (container generator)

Return an item of the container uniformly at random using
the generator. Same as sample-element unless container is of type container-uses-nodes-mixin.

Package

metabang.cl-containers.

Source

container-api.lisp.

Generic Function: sample-unique-elements (container generator count)

Return a list of count elements from the container sampled uniformly at random without replacement.

Package

metabang.cl-containers.

Source

container-api.lisp.

Generic Function: search-for-element (list item &key test key)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: search-for-element ((list list) item &key test key)
Source

compatibility.lisp.

Method: search-for-element ((container iteratable-container-mixin) item &key test key)
Source

basic-operations.lisp.

Generic Function: search-for-item (container item &key test key)

Hunt for the item in the container. Key and Test are as in member.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: search-for-item ((list list) item &key test key)
Source

compatibility.lisp.

Method: search-for-item ((container bag/set-container) item &key test key)
Source

bags-and-sets.lisp.

Method: search-for-item ((container abstract-bag/set-container) item &key test key)
Source

bags-and-sets.lisp.

Method: search-for-item ((container stack-container) item &key test key)
Source

stacks.lisp.

Method: search-for-item ((container contents-as-hashtable-mixin) item &key test key)
Source

basic-operations.lisp.

Method: search-for-item ((container contents-as-list-mixin) item &key test key)
Source

basic-operations.lisp.

Method: search-for-item ((container contents-as-array-mixin) item &key test key)
Source

basic-operations.lisp.

Method: search-for-item ((container iteratable-container-mixin) item &key test key)
Source

basic-operations.lisp.

Generic Function: search-for-key (container key-to-find &key test key)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: search-for-key ((container associative-container-mixin) key-to-find &key test key)
Source

associative.lisp.

Generic Function: search-for-match (container predicate &key key)

Hunt for an item in the container that satisfies the predicate. Key is as in count-if.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: search-for-match ((array array) predicate &key key)
Source

compatibility.lisp.

Method: search-for-match ((vector vector) predicate &key key)
Source

compatibility.lisp.

Method: search-for-match ((list list) predicate &key key)
Source

compatibility.lisp.

Method: search-for-match ((container abstract-bag/set-container) predicate &key key)
Source

bags-and-sets.lisp.

Method: search-for-match ((container iteratable-container-mixin) predicate &key key)
Source

basic-operations.lisp.

Generic Function: search-for-matching-node (container predicate &key key)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: search-for-matching-node ((container iteratable-container-mixin) predicate &key key)
Source

basic-operations.lisp.

Generic Function: search-for-node (container item &key test key)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: search-for-node ((container container-uses-nodes-mixin) (item container-node-mixin) &key test key)
Source

basic-operations.lisp.

Method: search-for-node ((container container-uses-nodes-mixin) item &key test key)
Source

basic-operations.lisp.

Method: search-for-node ((container iteratable-container-mixin) item &key test key)
Source

basic-operations.lisp.

Generic Function: search-for-node* (container item &key test key)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: search-for-node* ((container container-uses-nodes-mixin) (item container-node-mixin) &key test key)
Source

basic-operations.lisp.

Method: search-for-node* ((container container-uses-nodes-mixin) item &key test key)
Source

basic-operations.lisp.

Generic Function: some-element-p (array predicate)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: some-element-p ((array array) predicate)
Source

compatibility.lisp.

Method: some-element-p ((container vector) predicate)
Source

compatibility.lisp.

Method: some-element-p ((container list) predicate)
Source

compatibility.lisp.

Method: some-element-p ((container iteratable-container-mixin) (predicate function))
Source

basic-operations.lisp.

Generic Function: some-item-p (container predicate)

Returns the first item in the container for which predicate
holds. Predicate should be a function of one argument for iteratable containers and a function of two arguments for associative containers.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: some-item-p ((container vector) (predicate function))
Source

compatibility.lisp.

Method: some-item-p ((container list) (predicate function))
Source

compatibility.lisp.

Method: some-item-p ((container iteratable-container-mixin) (predicate function))
Source

basic-operations.lisp.

Generic Function: some-key-value-p (container predicate)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: some-key-value-p ((container associative-container-mixin) predicate)
Source

associative.lisp.

Generic Function: sort-elements (container sorter &key key)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: sort-elements ((container sequence) sorter &key key)
Source

compatibility.lisp.

Method: sort-elements ((container alist-container) sorter &key key)
Source

associative.lisp.

Method: sort-elements ((container contents-as-sequence-mixin) sorter &key key)
Source

basic-operations.lisp.

Generic Function: sort-keys (container sorter &key key)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: sort-keys ((container alist-container) sorter &key key)
Source

associative.lisp.

Generic Reader: stable? (object)
Package

metabang.cl-containers.

Methods
Reader Method: stable? ((sorted-list-container sorted-list-container))

automatically generated reader method

Source

lists.lisp.

Target Slot

stable?.

Generic Writer: (setf stable?) (object)
Package

metabang.cl-containers.

Methods
Writer Method: (setf stable?) ((sorted-list-container sorted-list-container))

automatically generated writer method

Source

lists.lisp.

Target Slot

stable?.

Generic Function: successor (sorted-container-mixin item)

Return the item that comes after item in the container. Only makes sense for sorted containers. Raises an element-not-found-error if the item isn’t present in the container.

Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: successor ((container dlist-container) (node dlist-container-node))
Source

lists.lisp.

Method: successor ((tree binary-search-tree) (node bst-node))
Source

trees.lisp.

Method: successor ((container container-uses-nodes-mixin) item)
Source

basic-operations.lisp.

Generic Function: unique-elements (container &key key)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: unique-elements ((container list) &key key)
Source

miscellaneous.lisp.

Method: unique-elements ((container iteratable-container-mixin) &key key)
Source

miscellaneous.lisp.

Generic Function: unique-nodes (container &key key)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: unique-nodes ((container list) &key key)
Source

miscellaneous.lisp.

Method: unique-nodes ((container iteratable-container-mixin) &key key)
Source

miscellaneous.lisp.

Generic Function: update-item (list item)
Package

metabang.cl-containers.

Source

container-api.lisp.

Methods
Method: update-item ((list sorted-dlist-container) item)
Source

lists.lisp.

Method: update-item ((list sorted-dlist-container) (item i-know-my-node-mixin))
Source

lists.lisp.

Method: update-item ((list sorted-dlist-container) (node dlist-container-node))
Source

lists.lisp.


6.1.4 Standalone methods

Method: best-item ((container iteratable-container-mixin) function &key key test filter)
Package

metabang.utilities.

Source

basic-operations.lisp.

Reader Method: element ((condition element-not-found-error))
Package

metabang.utilities.

Source

conditions.lisp.

Target Slot

element.

Writer Method: (setf element) ((container-node-mixin container-node-mixin))

automatically generated writer method

Package

metabang.utilities.

Source

containers.lisp.

Target Slot

element.

Reader Method: element ((container-node-mixin container-node-mixin))

automatically generated reader method

Package

metabang.utilities.

Source

containers.lisp.

Target Slot

element.

Method: element :around ((iterator unique-value-iterator-mixin))
Package

metabang.utilities.

Source

iterators.lisp.

Method: element :around ((iterator abstract-generator))
Package

metabang.utilities.

Source

iterators.lisp.

Method: element ((iterator abstract-generator))
Package

metabang.utilities.

Source

iterators.lisp.

Reader Method: element ((arithmetic-sequence-generator arithmetic-sequence-generator))

automatically generated reader method

Package

metabang.utilities.

Source

iterators.lisp.

Target Slot

element.

Reader Method: element-type ((typed-container-mixin typed-container-mixin))

automatically generated reader method

Package

metabang.utilities.

Source

containers.lisp.

Target Slot

element-type.

Reader Method: filter ((filtered-iterator-mixin filtered-iterator-mixin))

automatically generated reader method

Package

metabang.utilities.

Source

iterators.lisp.

Target Slot

filter.

Method: initialize-instance :around ((object priority-queue-on-container) &rest args &key container-type &allow-other-keys)
Source

queues.lisp.

Method: initialize-instance :after ((object keyed-bag/set-container) &key)
Source

bags-and-sets.lisp.

Method: initialize-instance :after ((object stable-associative-container) &rest args &key container-type &allow-other-keys)
Source

containers.lisp.

Method: initialize-instance :after ((object associative-container) &key test)
Source

associative.lisp.

Method: initialize-instance :around ((object filtered-iterator-mixin) &key)
Source

iterators.lisp.

Method: initialize-instance :around ((object bounded-vector-container) &rest args &key size initial-size)
Source

vectors.lisp.

Method: initialize-instance :after ((object red-black-tree) &key)
Source

trees.lisp.

Method: initialize-instance :after ((heap heap-container) &key)
Source

heaps.lisp.

Method: initialize-instance :around ((object sparse-array-container) &key dimensions)
Source

associative.lisp.

Method: initialize-instance :after ((object unique-value-iterator-mixin) &key)
Source

iterators.lisp.

Method: initialize-instance :after ((container keyed-associative-container) &key)
Source

associative.lisp.

Method: initialize-instance :after ((object basic-initial-contents-mixin) &key initial-contents)
Source

containers.lisp.

Method: initialize-instance :after ((object initial-element-mixin) &key)
Source

containers.lisp.

Method: initialize-instance :after ((object associative-array) &key test dimensions max-size)
Source

containers.lisp.

Method: initialize-instance :after ((object union-find-node) &key)
Source

union-find-container.lisp.

Method: initialize-instance :after ((object basic-iterator) &key &allow-other-keys)
Source

iterators.lisp.

Method: initialize-instance :after ((object hash-table-iterator) &key)
Source

iterators.lisp.

Method: initialize-instance :after ((object arithmetic-sequence-generator) &key)
Source

iterators.lisp.

Method: initialize-instance :after ((node red-black-node) &key parent left-child right-child empty-p)
Source

trees.lisp.

Method: initialize-instance :after ((object delimited-iterator) &key container &allow-other-keys)
Source

file-iterators.lisp.

Method: initialize-instance :after ((object basic-stream-iterator) &key container)
Source

file-iterators.lisp.

Method: initialize-instance :after ((object uses-contents-mixin) &rest args &key &allow-other-keys)
Source

containers.lisp.

Method: next-element ((iterator abstract-generator))
Package

metabang.utilities.

Source

iterators.lisp.

Writer Method: (setf parent) ((parent-node-mixin parent-node-mixin))

automatically generated writer method

Package

metabang.utilities.

Source

containers.lisp.

Target Slot

parent.

Reader Method: parent ((parent-node-mixin parent-node-mixin))

automatically generated reader method

Package

metabang.utilities.

Source

containers.lisp.

Target Slot

parent.

Writer Method: (setf parent) ((two-child-node two-child-node))

automatically generated writer method

Package

metabang.utilities.

Source

containers.lisp.

Target Slot

parent.

Reader Method: parent ((two-child-node two-child-node))

automatically generated reader method

Package

metabang.utilities.

Source

containers.lisp.

Target Slot

parent.

Method: print-object ((node dlist-container-node) stream)
Source

lists.lisp.

Method: print-object ((o bst-node) stream)
Source

trees.lisp.

Method: print-object ((o union-find-node) stream)
Source

union-find-container.lisp.

Method: print-object ((object abstract-generator) stream)
Source

iterators.lisp.

Method: print-object ((o quad-tree-node) stream)
Source

quad-tree.lisp.

Method: print-object ((o red-black-node) stream)
Source

trees.lisp.

Method: print-object ((node heap-node) stream)
Source

heaps.lisp.

Writer Method: (setf root) ((rooted-tree-container rooted-tree-container))

automatically generated writer method

Package

metabang.utilities.

Source

trees.lisp.

Target Slot

root.

Reader Method: root ((rooted-tree-container rooted-tree-container))

automatically generated reader method

Package

metabang.utilities.

Source

trees.lisp.

Target Slot

root.

Method: samep ((l1 list-container) (l2 list))
Package

metabang.utilities.

Source

basic-operations.lisp.

Method: samep ((l1 list) (l2 list-container))
Package

metabang.utilities.

Source

basic-operations.lisp.

Method: samep ((l1 list-container) (l2 list-container))
Package

metabang.utilities.

Source

basic-operations.lisp.

Method: samep ((c1 associative-container-mixin) (c2 associative-container-mixin))
Package

metabang.utilities.

Source

associative.lisp.

Method: samep ((container-1 vector-container-mixin) (container-2 vector-container-mixin))
Package

metabang.utilities.

Source

vectors.lisp.

Method: size ((q priority-queue-on-container))
Package

metabang.utilities.

Source

queues.lisp.

Method: size ((container stable-associative-container))
Package

metabang.utilities.

Source

basic-operations.lisp.

Method: size ((container package-container))
Package

metabang.utilities.

Source

package-container.lisp.

Method: size ((container contents-as-array-mixin))
Package

metabang.utilities.

Source

containers.lisp.

Method: size ((tree binary-search-tree))
Package

metabang.utilities.

Source

trees.lisp.

Method: size ((container contents-as-hashtable-mixin))
Package

metabang.utilities.

Source

basic-operations.lisp.

Writer Method: (setf size) ((dlist-container dlist-container))

automatically generated writer method

Package

metabang.utilities.

Source

lists.lisp.

Target Slot

size.

Reader Method: size ((dlist-container dlist-container))

automatically generated reader method

Package

metabang.utilities.

Source

lists.lisp.

Target Slot

size.

Method: size ((q basic-queue))
Package

metabang.utilities.

Source

queues.lisp.

Method: size ((v vector-container))
Package

metabang.utilities.

Source

vectors.lisp.

Method: size ((container ring-buffer))
Package

metabang.utilities.

Source

ring-buffers.lisp.

Writer Method: (setf size) ((quad-tree quad-tree))

automatically generated writer method

Package

metabang.utilities.

Source

quad-tree.lisp.

Target Slot

size.

Reader Method: size ((quad-tree quad-tree))

automatically generated reader method

Package

metabang.utilities.

Source

quad-tree.lisp.

Target Slot

size.

Method: size ((container alist-container))
Package

metabang.utilities.

Source

associative.lisp.

Method: size ((container stack-container))
Package

metabang.utilities.

Source

stacks.lisp.

Method: size ((node bst-node))
Package

metabang.utilities.

Source

trees.lisp.

Method: size ((container abstract-bag/set-container))
Package

metabang.utilities.

Source

bags-and-sets.lisp.

Method: size ((container contents-as-sequence-mixin))
Package

metabang.utilities.

Source

basic-operations.lisp.

Method: size ((container bag/set-container))
Package

metabang.utilities.

Source

bags-and-sets.lisp.

Method: total-size ((container contents-as-array-mixin))
Package

metabang.utilities.

Source

containers.lisp.

Reader Method: total-size ((ring-buffer ring-buffer))

automatically generated reader method

Package

metabang.utilities.

Source

ring-buffers.lisp.

Target Slot

total-size.

Method: total-size ((container sparse-array-container))
Package

metabang.utilities.

Source

associative.lisp.


6.1.5 Conditions

Condition: basic-iterator-condition
Package

metabang.cl-containers.

Source

iterators.lisp.

Direct superclasses

condition.

Direct subclasses

no-current-element-error.

Direct methods

iterator.

Direct slots
Slot: iterator
Initform

(quote nil)

Initargs

:iterator

Readers

iterator.

Writers

This slot is read-only.

Condition: container-error
Package

metabang.cl-containers.

Source

conditions.lisp.

Direct superclasses
Direct subclasses
Condition: element-not-found-error
Package

metabang.cl-containers.

Source

conditions.lisp.

Direct superclasses

container-error.

Direct methods

element.

Direct slots
Slot: element
Package

metabang.utilities.

Initargs

:element

Readers

element.

Writers

This slot is read-only.

Condition: no-current-element-error
Package

metabang.cl-containers.

Source

iterators.lisp.

Direct superclasses

6.1.6 Classes

Class: abstract-container

Inherited by all container classes, this is a good place to put those pesky superclasses you need everyone to inherit.

Package

metabang.cl-containers.

Source

containers.lisp.

Direct subclasses
Direct methods
Class: abstract-queue
Package

metabang.cl-containers.

Source

queues.lisp.

Direct superclasses
Direct subclasses
Direct methods
Class: alist-container
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: test
Initform

(function equal)

Initargs

:test

Class: array-container
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: contents
Readers

contents.

Writers

(setf contents).

Class: associative-container
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses
Direct subclasses

keyed-associative-container.

Direct methods
Class: associative-container-mixin
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses
Direct subclasses
Direct methods
Class: bag-container
Package

metabang.cl-containers.

Source

bags-and-sets.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: contents
Readers

contents.

Writers

This slot is read-only.

Class: basic-queue

A simple FIFO queue implemented as a list with extra bookkeeping for efficiency.

Package

metabang.cl-containers.

Source

queues.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: queue
Readers

queue-queue.

Writers

(setf queue-queue).

Slot: indexer
Readers

queue-header.

Writers

(setf queue-header).

Class: biassociative-container-mixin
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses

associative-container-mixin.

Direct subclasses

alist-container.

Class: binary-search-tree
Package

metabang.cl-containers.

Source

trees.lisp.

Direct superclasses
Direct subclasses
Direct methods
Direct Default Initargs
InitargValue
:key(quote identity)
:test(quote eq)
:sorter(quote <)
Direct slots
Slot: tree-size
Initform

0

Initargs

:tree-size

Readers

tree-size.

Writers

(setf tree-size).

Class: bounded-vector-container
Package

metabang.cl-containers.

Source

vectors.lisp.

Direct superclasses
Direct methods

initialize-instance.

Class: container-node-mixin
Package

metabang.cl-containers.

Source

containers.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: element
Package

metabang.utilities.

Initargs

:element

Readers

element.

Writers

(setf element).

Class: container-uses-nodes-mixin
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses

abstract-container.

Direct subclasses
Direct methods
Class: contents-as-array-mixin
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses
Direct subclasses

vector-container-mixin.

Direct methods
Direct slots
Slot: contents
Readers

contents.

Writers

(setf contents).

Class: contents-as-hashtable-mixin
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses
Direct subclasses
Direct methods
Direct slots
Slot: contents
Readers

contents.

Writers

(setf contents).

Class: contents-as-list-mixin
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses
Direct subclasses
Direct methods
Direct slots
Slot: contents
Initform

(quote nil)

Readers

contents.

Writers

(setf contents).

Class: dlist-container

A double-linked list

Package

metabang.cl-containers.

Source

lists.lisp.

Direct superclasses
Direct subclasses

sorted-dlist-container.

Direct methods
Direct slots
Slot: first-element
Initargs

:first-element

Readers

first-element.

Writers

(setf first-element).

Slot: last-element
Initargs

:last-element

Readers

last-element.

Writers

(setf last-element).

Slot: size
Package

metabang.utilities.

Initform

0

Initargs

:size

Readers

size.

Writers

(setf size).

Class: dlist-container-node

A double-linked list node

Package

metabang.cl-containers.

Source

lists.lisp.

Direct superclasses

container-node-mixin.

Direct methods
Direct slots
Slot: next-item
Initargs

:next-item

Readers

next-item.

Writers

(setf next-item).

Slot: previous-item
Initargs

:previous-item

Readers

previous-item.

Writers

(setf previous-item).

Slot: element
Package

metabang.utilities.

Class: filtered-iterator-mixin
Package

metabang.cl-containers.

Source

iterators.lisp.

Direct superclasses

basic-filtered-iterator-mixin.

Direct methods
Direct slots
Slot: filter
Package

metabang.utilities.

Initargs

:filter

Readers

filter.

Writers

This slot is read-only.

Class: flexible-vector-container
Package

metabang.cl-containers.

Source

vectors.lisp.

Direct superclasses

vector-container.

Direct methods

item-at!.

Class: forward-iterator
Package

metabang.cl-containers.

Source

iterators.lisp.

Direct superclasses
Direct subclasses
Direct methods
Class: heap-container
Package

metabang.cl-containers.

Source

heaps.lisp.

Direct superclasses
Direct subclasses

k-best-heap-container.

Direct methods
Direct Default Initargs
InitargValue
:sorter(function >)
:initial-size0
Class: i-know-my-node-mixin
Package

metabang.cl-containers.

Source

containers.lisp.

Direct methods
Direct slots
Slot: my-node
Initargs

:my-node

Readers

my-node.

Writers

(setf my-node).

Class: initial-contents-mixin
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses

basic-initial-contents-mixin.

Direct subclasses
Direct methods
Class: iteratable-container-mixin
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses

searchable-container-mixin.

Direct subclasses
Direct methods
Class: k-best-heap-container

Stores the k *best* values where *best* is defined by sorter. This
means that the item at the top of the heap is the *worst* item. So if you want the best items to be the largest items, make sure sorter is ’<’.

Package

metabang.cl-containers.

Source

heaps.lisp.

Direct superclasses
Direct methods
Direct Default Initargs
InitargValue
:sorter(function >)
:k1
Direct slots
Slot: k
Initform

1

Initargs

:k

Readers

k-best-number.

Writers

(setf k-best-number).

Class: key-value-iteratable-container-mixin
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses

iteratable-container-mixin.

Direct subclasses
Direct methods
Class: keyed-associative-container
Package

metabang.cl-containers.

Source

associative.lisp.

Direct superclasses
Direct methods
Direct Default Initargs
InitargValue
:test(function eq)
:key(function identity-2)
Direct slots
Slot: key-map
Type

metabang.cl-containers:associative-container

Readers

key-map.

Writers

(setf key-map).

Slot: in-item-at?
Initargs

:in-item-at?

Readers

in-item-at?.

Writers

This slot is read-only.

Class: keyed-bag/set-container
Package

metabang.cl-containers.

Source

bags-and-sets.lisp.

Direct superclasses

bag/set-container.

Direct methods
Direct slots
Slot: key-map
Readers

key-map.

Writers

This slot is read-only.

Class: list-container
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses
Direct subclasses

sorted-list-container.

Direct methods
Class: list-iterator
Package

metabang.cl-containers.

Source

iterators.lisp.

Direct superclasses

forward-iterator.

Direct subclasses

hash-table-iterator.

Direct methods
Class: many-child-node
Package

metabang.cl-containers.

Source

trees.lisp.

Direct superclasses
Direct subclasses
Direct methods
Class: many-ordered-child-node

A node with many ordered children is a vector

Package

metabang.cl-containers.

Source

trees.lisp.

Direct superclasses
Direct methods

children.

Class: many-unordered-child-node

Children are unordered

Package

metabang.cl-containers.

Source

trees.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: contents
Initargs

:contents

Readers

contents.

Writers

(setf contents).

Class: non-associative-container-mixin

A non associative container should implement at least empty-p, empty, insert-item and delete-item.

Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses

abstract-container.

Direct subclasses
Direct methods
Class: package-container
Package

metabang.cl-containers.

Source

package-container.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: packages
Initargs

:packages

Readers

packages.

Writers

This slot is read-only.

Slot: exported-symbols-only-p
Initform

t

Initargs

:exported-symbols-only-p

Readers

exported-symbols-only-p.

Writers

(setf exported-symbols-only-p).

Slot: present-symbols-only-p
Initform

t

Initargs

:present-symbols-only-p

Readers

present-symbols-only-p.

Writers

(setf present-symbols-only-p).

Class: parent-node-mixin

A mixin for nodes with parent pointers

Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses

container-node-mixin.

Direct subclasses
Direct methods
Direct slots
Slot: parent
Package

metabang.utilities.

Initargs

:parent

Readers

parent.

Writers

(setf parent).

Class: priority-queue-on-container
Package

metabang.cl-containers.

Source

queues.lisp.

Direct superclasses
Direct methods
Direct Default Initargs
InitargValue
:container-type(quote binary-search-tree)
Direct slots
Slot: container
Readers

container.

Writers

This slot is read-only.

Class: quad-tree
Package

metabang.cl-containers.

Source

quad-tree.lisp.

Direct superclasses
Direct methods
Direct Default Initargs
InitargValue
:key(quote identity)
:test(quote eq)
Direct slots
Slot: size
Package

metabang.utilities.

Initform

0

Initargs

:size

Readers

size.

Writers

(setf size).

Class: red-black-tree
Package

metabang.cl-containers.

Source

trees.lisp.

Direct superclasses

binary-search-tree.

Direct methods
Direct Default Initargs
InitargValue
:key(function identity)
:test(function eq)
:sorter(function <)
Direct slots
Slot: empty-node
Type

metabang.cl-containers::red-black-node

Initargs

:empty-node

Readers

empty-node.

Writers

This slot is read-only.

Class: ring-buffer
Package

metabang.cl-containers.

Source

ring-buffers.lisp.

Direct superclasses
Direct subclasses

ring-buffer-reverse.

Direct methods
Direct slots
Slot: contents
Initargs

:contents

Readers

contents.

Writers

This slot is read-only.

Slot: buffer-start
Initform

0

Readers

buffer-start.

Writers

This slot is read-only.

Slot: buffer-end
Initform

0

Readers

buffer-end.

Writers

This slot is read-only.

Slot: total-size
Package

metabang.utilities.

Initargs

:total-size

Readers

total-size.

Writers

This slot is read-only.

Class: ring-buffer-reverse
Package

metabang.cl-containers.

Source

ring-buffers.lisp.

Direct superclasses

ring-buffer.

Direct methods
Class: rooted-tree-container

Base class of all trees with roots.

Package

metabang.cl-containers.

Source

trees.lisp.

Direct superclasses

abstract-tree-container.

Direct subclasses
Direct methods
Direct slots
Slot: root
Package

metabang.utilities.

Initargs

:root

Readers

root.

Writers

(setf root).

Class: set-container
Package

metabang.cl-containers.

Source

bags-and-sets.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: contents
Readers

contents.

Writers

This slot is read-only.

Class: simple-associative-container
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses
Direct methods
Class: sorted-dlist-container

A persistently sorted double-linked list

Package

metabang.cl-containers.

Source

lists.lisp.

Direct superclasses
Direct methods
Direct Default Initargs
InitargValue
:size0
Class: sorted-list-container

A list container that keeps its items sorted as needed. This uses ’sort’ so it best for small containers.

Package

metabang.cl-containers.

Source

lists.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: dirty?
Readers

dirty?.

Writers

This slot is read-only.

Slot: stable?
Initargs

:stable?

Readers

stable?.

Writers

(setf stable?).

Class: sparse-array-container
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses
Direct methods
Direct Default Initargs
InitargValue
:test(function equal)
Direct slots
Slot: dimensions
Initargs

:dimensions

Readers

dimensions.

Writers

This slot is read-only.

Slot: use-fixnums?
Readers

use-fixnums?.

Writers

This slot is read-only.

Class: stable-associative-container
Package

metabang.cl-containers.

Source

containers.lisp.

Direct superclasses
Direct methods
Direct Default Initargs
InitargValue
:container-type(quote associative-container)
Direct slots
Slot: associative-container
Slot: numbered-container
Slot: counter
Initform

0

Readers

counter.

Writers

This slot is read-only.

Class: stack-container
Package

metabang.cl-containers.

Source

stacks.lisp.

Direct superclasses
Direct methods
Direct Default Initargs
InitargValue
:container-type(quote list-container)
Direct slots
Slot: contents
Readers

contents.

Writers

This slot is read-only.

Slot: container-type
Initargs

:container-type

Readers

container-type.

Writers

This slot is read-only.

Class: test-container-mixin
Package

metabang.cl-containers.

Source

containers.lisp.

Direct subclasses
Direct methods

test.

Direct slots
Slot: test
Initform

(quote eq)

Initargs

:test

Readers

test.

Writers

This slot is read-only.

Class: union-find-container
Package

metabang.cl-containers.

Source

union-find-container.lisp.

Direct superclasses

contents-as-hashtable-mixin.

Direct methods
Class: unique-value-iterator-mixin
Package

metabang.cl-containers.

Source

iterators.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: visited
Initargs

:visited

Readers

visited.

Writers

This slot is read-only.

Class: vector-container
Package

metabang.cl-containers.

Source

vectors.lisp.

Direct superclasses
Direct subclasses
Direct methods

6.2 Internals


6.2.1 Constants

Constant: +iterator-after-end+
Package

metabang.cl-containers.

Source

iterators.lisp.

Constant: +iterator-before-beginning+
Package

metabang.cl-containers.

Source

iterators.lisp.

Constant: +rbt-color-black+
Package

metabang.cl-containers.

Source

trees.lisp.

Constant: +rbt-color-red+
Package

metabang.cl-containers.

Source

trees.lisp.


6.2.2 Special variables

Special Variable: *current-iteratee*
Package

metabang.cl-containers.

Source

dynamic-class-defs.lisp.

Special Variable: *define-class-form*

The name of the form used to define a class. Usually, this will be bound to ’defclass* but when we are using GBBOpen, it will probably be bound to define-class or define-class*.

Package

metabang.cl-containers.

Source

dynamic-classes.lisp.

Special Variable: *parameter-dynamic-class-table*
Package

metabang.cl-containers.

Source

dynamic-classes.lisp.

Special Variable: +empty-initial-element+
Package

metabang.cl-containers.

Source

containers.lisp.


6.2.3 Setf expanders

Setf Expander: (setf front-of-queue) (queue)
Package

metabang.cl-containers.

Source

queues.lisp.

Reader

front-of-queue (function).

Writer

front-of-queue! (function).

Setf Expander: (setf tail-of-queue) (queue)
Package

metabang.cl-containers.

Source

queues.lisp.

Reader

tail-of-queue (function).

Writer

tail-of-queue! (function).


6.2.4 Ordinary functions

Function: </