Class Ring-Buffer

Part of:

package metabang.cl-containers, class concrete-container, class iteratable-container-mixin, class bounded-container-mixin, class abstract-queue

Direct Superclass

abstract-queue
bounded-container-mixin
concrete-container

Inherited by all container classes that can/should
be instantiated using make-container.

iteratable-container-mixin

Slot

buffer-endInitform:0; Reader:buffer-end.
buffer-startInitform:0; Reader:buffer-start.
contentsInitargs::contents; Accessors:contents.
testInitform:(function equal), Initargs::test.
total-sizeInitargs::total-size; Reader:total-size.

Direct Method

current-item
delete-first

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

empty!

Removes all items from the container and returns nil.

first-element
increment-end
insert-item

Adds item to the container

item-at

Returns the item specified by the indexes.

item-at!

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

iterate-nodes

Applies function to each node in the container. If the container doesn't have nodes, then this is...

next-item
setffirst-element
size

Returns the number of items currently in the container.

Other Method

add-initial-contents
best-item

Returns the item in items with the 'best' value of function where
'best' is determined by test. Y...

collect-elements

Returns a possibly filtered and possibly transformed list of the elements in a container. If the ...

collect-elements-stably
collect-nodes

Returns a possibly filtered and possibly transformed list
of the nodes in a container. If the con...

count-elements
count-elements-if
count-items
delete-item-if
delete-list

Deletes each item in the list from the container.

dequeue
element-position

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

enqueue
error-if-queue-empty
every-element-p
every-item-p

Returns true if every item in the container satisfies the
predicate. Predicate should be a funct...

insert-initial-contents-p

Returns true if this container type should rely on the default behavior of basic-initial-contents...

insert-list

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

insert-new-item

Adds item to the container unless it is already there

insert-sequence

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

iteratable-p

Returns true if thing knows how to iterate-nodes.

iterate-elements
nth-element

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

print-container

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

reduce-container
reduce-elements
reduce-nodes
remove-items-if

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

reverse-container

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

search-for-element
search-for-item

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

search-for-match

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

search-for-matching-node
search-for-node
some-element-p
some-item-p

Returns the first item in the container for which predicate
holds. Predicate should be a function...

unique-elements
unique-nodes