Class Sorted-Dlist-Container

A persistently sorted double-linked list

Part of:

package metabang.cl-containers, class sorted-container-mixin, class dlist-container

Default initargs

:size → #

Direct Superclass

dlist-container

A double-linked list

sorted-container-mixin

Slot

first-elementInitargs::first-element; Accessors:first-element.
keyInitform:(quote identity), Initargs::key; Reader:key.
last-elementInitargs::last-element; Accessors:last-element.
sizeInitform:0, Initargs::size; Accessors:size.
sorterInitform:(function <), Initargs::sorter; Accessors:sorter.
testInitform:(function equal), Initargs::test.

Direct Method

delete-item
ensure-sorted

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

force-sort

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

insert-item

Adds item to the container

insert-item-ordered
insert-item-ordered-about-node
iterate-left
iterate-left-nodes
iterate-right
iterate-right-nodes
left-and-right-nodes-for-item
left-node-for-item
right-node-for-item
sort-update-left
sort-update-right
update-item

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-after
delete-item-before
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...

empty!

Removes all items from the container and returns nil.

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-item-after
insert-item-before
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.

item-at

Returns the item specified by the indexes.

iteratable-p

Returns true if thing knows how to iterate-nodes.

iterate-elements
iterate-nodes

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

make-node-for-container
nth-element

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

predecessor

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

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.

replace-item
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...

successor

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

unique-elements
unique-nodes