Class Sorted-List-Container

A list container that keeps its items sorted as needed. This uses 'sort'
so it best for small containers.

Part of:

package metabang.cl-containers, class concrete-container, class list-container, class sorted-container-mixin

Direct Superclass

concrete-container

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

list-container
sorted-container-mixin

Slot

contentsReader:contents.
dirty?Reader:dirty?.
keyInitform:(quote identity), Initargs::key; Reader:key.
sorterInitform:(function <), Initargs::sorter; Accessors:sorter.
stable?Initargs::stable?; Accessors:stable?.
testInitform:(function equal), Initargs::test.

Direct Method

clean-up
collect-elements

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

delete-first

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

delete-item
ensure-sorted

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

first-element
force-sort

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

insert-item

Adds item to the container

insert-list

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

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

iterate-nodes-about-node
print-container

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

set-dirty-flag
setffirst-element

Other Method

add-initial-contents
append-item

Add an item to the end of an ordered container.

append-new-item

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

base-class-for-iteratee
best-item

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

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.

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.

empty-p

Returns t if there are no items in the container.

every-element-p
every-item-p

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

find-item

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

insert-initial-contents-p

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

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
last-element
make-container-for-contents

Creates a sub-container to be used as contents for a
super-container.

nth-element

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

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.

samep

Compares two things and returns true if they are the same
in the sense of being interchangable. I...

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
setflast-element
size

Returns the number of items currently in the container.

some-element-p
some-item-p

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

sort-container
sort-elements
unique-elements
unique-nodes