Class Dlist-Container

A double-linked list

Part of:

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

Direct Superclass

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

Direct Subclass

sorted-dlist-containerA persistently sorted double-linked list

Slot

first-elementInitargs:first-element; Accessors:first-element; Type:dlist-container-node.
last-elementInitargs:last-element; Accessors:last-element; Type:dlist-container-node.
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-itemAdds item to the container
insert-item-after
insert-item-before
item-atReturns the item specified by the indexes.
iterate-nodesApplies function to each node in the container. If the container doesn't have nodes, then this is...
make-node-for-container
predecessor
replace-item
successor

Other Method

best-itemReturns the item in items with the 'best' value of function where 'best' is determined by test. Y...
collect-elementsReturns a possibly filtered and possibly transformed list of the elements in a container. If the ...
collect-elements-stably
collect-nodesReturns a possibly filtered and possibly transformed list of the nodes in a container. If the con...
count-elements
count-elements-if
delete-element
delete-item-if
delete-listDeletes each item in the list from the container.
element-positionReturns the position of element in container using test and key to match. Key defaults to identit...
find-elementFor now, compare find-item.
find-itemFind item in container using the container's test method for comparisons. The test method must ta...
first-element
insert-listAdds each item in the list to the container in an upspecified order.
insert-new-itemAdds item to the container unless it is already there
insert-sequenceAdds each item in the sequence to the container in an upspecified order.
iteratable-pReturns true if thing knows how to iterate-nodes.
iterate-elements
nth-elementReturns the nth element in the container's 'natural' order.
print-containerPrints the contents of container (using PRINT). Returns the container.
reduce-container
reduce-elements
reduce-nodes
remove-items-ifRemoves items from a container that satisfy the test. The container is returned.
reverse-containerDestructively alters the elements/nodes of an ordered container so that they are reversed.
search-for-element
search-for-itemHunt for the item in the container. Key and Test are as in member.
search-for-matchHunt 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
unique-elements
unique-nodes