Class Dlist-Container

A double-linked list

Part of:

package metabang.cl-containers, class concrete-container, class ordered-container-mixin, class iteratable-container-mixin, class sorted-dlist-container, class container-uses-nodes-mixin

Direct Superclass

concrete-container

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

container-uses-nodes-mixin
iteratable-container-mixin
ordered-container-mixin

Direct Subclass

sorted-dlist-container

A persistently sorted double-linked list

Slot

first-elementInitargs::first-element; Accessors:first-element.
last-elementInitargs::last-element; Accessors:last-element.
sizeInitform:0, Initargs::size; Accessors:size.
testInitform:#'equal, Initargs::test.

Direct Method

delete-item
delete-item-after
delete-item-before
empty!

Removes all items from the container and returns nil.

insert-item

Adds item to the container

insert-item-after
insert-item-before
item-at

Returns the item specified by the indexes.

iterate-nodes

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

make-node-for-container
predecessor

Return the item that comes before item in the container. Only makes sense for sorted containers...

replace-item
successor

Return the item that comes after item in the container. Only makes sense for sorted containers. R...

Other Method

%operate-after-finding
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-element
delete-item-if
delete-list

Deletes each item in the list from the container.

element-position

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

every-element-p
every-item-p

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

find-element

For now, compare find-item.

find-item

Find item in container using the container's test
method for comparisons. The test method must ta...

first-element
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
search-for-node*
setffirst-element
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