The darts.lib.wbtree Reference Manual

This is the darts.lib.wbtree Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:11:51 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 darts.lib.wbtree

Weight-balanced binary tree

Maintainer

Dirk Esser

Author

Dirk Esser

License

MIT

Long Description
Version

0.1

Source

darts.lib.wbtree.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 darts.lib.wbtree/src

Source

darts.lib.wbtree.asd.

Parent Component

darts.lib.wbtree (system).

Child Component

wbtree (module).


3.2 darts.lib.wbtree/src/wbtree

Source

darts.lib.wbtree.asd.

Parent Component

src (module).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 darts.lib.wbtree/darts.lib.wbtree.asd

Source

darts.lib.wbtree.asd.

Parent Component

darts.lib.wbtree (system).

ASDF Systems

darts.lib.wbtree.

Packages

darts.asdf.


4.1.2 darts.lib.wbtree/src/wbtree/package.lisp

Source

darts.lib.wbtree.asd.

Parent Component

wbtree (module).

Packages

darts.lib.wbtree.


4.1.3 darts.lib.wbtree/src/wbtree/implementation.lisp

Dependency

package.lisp (file).

Source

darts.lib.wbtree.asd.

Parent Component

wbtree (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 darts.lib.wbtree

Generalized weight-balanced binary search trees. This
package provides a variant of the weight-balanced binary trees implemented in package DARTS.LIB.PTREE. The variant exposed here can be used with arbitrary key types, provided, a total order is defined on the keys, for which a suitable predicate function (in the sense of #’<) exists.

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

5.2 darts.asdf

Source

darts.lib.wbtree.asd.

Use List
  • asdf/interface.
  • common-lisp.

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Macros

Macro: define-wbtree (name &body rest)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Macro: do-correlated-wbtree-nodes (((bind1 tree1) (bind2 tree2) &rest options) &body body)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Macro: do-wbtree (((key value) tree &rest options) &body body)
Package

darts.lib.wbtree.

Source

implementation.lisp.


6.1.2 Setf expanders

Setf Expander: (setf wbtree-find) (key-form place &optional default)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Reader

wbtree-find (function).


6.1.3 Ordinary functions

Function: wbtree-correlate (function tree1 tree2 &key test direction)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-empty-p (node)

Tests, whether ‘node’ represents an empty tree.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-find (key tree &optional default)

Finds the value associated with ‘key’ in ‘tree’. This function returns two values: the value associated with ‘key’ as primary value or ‘default’, if no matching node could be found. The second value is a generalized boolean value, which indicates, whether the node was found or not.

This function can be used with ‘setf’. In this case, the form
of the ‘tree’ argument must be itself a ‘setf’-able place, which will be updated to hold the modified copy of the tree; the original tree value is not modified in any way.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Setf expander for this function

(setf wbtree-find).

Function: wbtree-iterator (tree &key start end comparator direction from-end)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-lower-boundary-node (key tree)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-maximum-node (tree)

Answers the node with the largest (in the sense of the subtype’s comparison function) key present in ‘tree’.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-minimum-node (tree)

Answers the node with the smallest (in the sense of the subtype’s comparison function) key present in ‘tree’.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-node-key (node)

Obtains the key associated with ‘node’ If ‘node’ is the empty tree, raises a condition of type ‘simple-error’.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-node-left-subtree (node)

Obtains the left subtree of ‘node’ or ‘node’ itself, if it is the empty tree

Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-node-right-subtree (node)

Obtains the right subtree of ‘node’ or ‘node’ itself, if it is the empty tree

Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-node-value (node)

Obtains the value associated with ‘node’. If ‘node’ is the empty tree, raises a condition of type ‘simple-error’.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-scan-range-forward (function comparator tree)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-size (node)

Answers the number of valid key/value pairs contained in ‘tree’

Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-upper-boundary-node (key tree)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtreep (object)
Package

darts.lib.wbtree.

Source

implementation.lisp.


6.1.4 Generic functions

Generic Function: wbtree-ceiling-node (key tree)

Answers the node in ‘tree‘, whose key is the smallest key
greater than or equal to ‘key‘. Returns nil, if there is no such node in the given tree.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Generic Function: wbtree-check-invariants (tree)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Generic Function: wbtree-difference (tree1 tree2)

Answers a copy of ‘tree1’, in which all entries have been removed, which match keys present in ‘tree2’.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Generic Function: wbtree-equal (tree1 tree2 &key test node-test)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Generic Function: wbtree-find-node (key tree)

Answers the node of ‘tree‘, whose key matches the given ‘key‘ value or nil, if no matching node exists.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Generic Function: wbtree-floor-node (key tree)

Answers the node in ‘tree‘, whose key is the largest key
less than or equal to ‘key‘. Returns nil, if there is no such node in the given tree.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Generic Function: wbtree-fold (function tree &key direction associativity initial-value start end)

Applies ‘function’ to all nodes in ‘tree’.

If ‘direction’ is ‘:forward’, then only those nodes are visited,
whose keys are greater than or equal to ‘start’ and less than ‘end’; traversal will be in proper tree order. This is the default.

If ‘direction’ is ‘:backward’, then only those nodes are visited,
whose keys are less then or equal to ‘start’, and greater then ‘end’, and the traversal will happen in the opposite of the normal tree order.

If ‘associativity’ is ‘:left’ (the default), the function is called with the value of its last invocation as first, and the current
node as second argument. If ‘associativity’ is ‘:right’, then the arguments are exchanged, i.e., the node will be the first argument,
and the accumulated value will be the second. On the first invocation, the function receives the ‘initial-value’ as accumulator value.

This function returns the last value returned by ‘function’, or ‘initial-value’, if the function is not called at all (e.g., because the selected key range is empty).

Example:

(wbtree-fold #’cons some-tree :associativity :right :direction :backward)

will yield a list of all tree nodes in proper tree order.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Generic Function: wbtree-intersection (tree1 tree2 &key combiner)

Answers the tree, which is the intersection of ‘tree1’ and
‘tree2’, which must both be WB trees of the same subtype. The resulting tree contains entries for all keys, which are present
in ‘tree1’ as well as ‘tree2’.

The ‘combiner’ function determines, which value will be associated with the keys in the resulting tree. It is called with three arguments, the key, the associated value in ‘tree1’, and the associated value in ‘tree2’. Whatever value it returns will be used as the value for the key in the resulting tree.

The default combiner function always answers the value from ‘tree2’, discarding the value in ‘tree1’.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Generic Function: wbtree-map (function tree &key direction collectp start end)

Maps ‘function’ across all nodes of ‘tree’. If the value of ‘direction’ is :forward (the default), then the nodes are visited in proper tree order (i.e., in ascending key order as determined by the tree’s comparison function). If the value is :backward, then the nodes are visited in the opposite order.

If ‘start’ is provided, traversal starts at the smallest key, which is greater than or equal to ‘start’, when direction is :forward, or with the node, whose key is the largest still less than or equal to ‘start’, if ‘direction’ is :backward. The start node is passed to ‘function’.

If ‘end’ is provided, traversal stops at the node with smallest key, which is larger than or equal to ‘end’ when iterating in :forward direction, or at the node with the largest key still smaller than or equal to ‘end’, when iterating backwards. In either case, the stop node is not passed down to ‘function’.

If ‘collectp’, the primary return values of each invocation of ‘function’ are collected into a list, which is then returned as primary (and only) value of ‘wbtree-map’ itself. If not ‘collectp’, return values of ‘function’ are ignored, and wbtree-map returns nil.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Generic Function: wbtree-modify (key value tree modifier)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Generic Function: wbtree-rebalance (tree)

Generates a fully balanced tree from ‘tree’. This function answers a tree of the same kind as ‘tree’, which contains the same key/value pairs as ‘tree’. However, the copy returned is fully balanced. Note, that this optimization often does not really pay off.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Generic Function: wbtree-remove (key tree)

Answers a copy of ‘tree’, in which any association of ‘key’ has been removed. Returns ‘tree’ instead, if there is no entry matching ‘key’ in ‘tree’.

This function returns as secondary the WB tree node, which has been removed in the copy returned as primary value, or nil, if no matching node was found.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Generic Function: wbtree-test (object)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Generic Function: wbtree-union (tree1 tree2 &key combiner)

Answers the tree, which is the union of ‘tree1’ and ‘tree2’, which must both be WB trees of the same subtype. The resulting tree contains entries for all keys, which are present in either ‘tree1’ or ‘tree2’ (or both). If a key is present in both trees, the resulting tree will associate it with the value, which is chosen by function ‘combiner’, which must accept three arguments:

1. the key present in both trees
2. the associated value in ‘tree1’
3. the associated value in ‘tree2’.

The value returned by ‘combiner’ will then be used as the value to associate with the overlapping key in the result tree. The default combiner function always yields the value in ‘tree2’, and discards the value from ‘tree1’.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Generic Function: wbtree-update (key value tree &optional test)

Returns a copy of tree, in which ‘key’ has been associated with ‘value’, potentially replacing any previous binding for ‘key’ in ‘tree’. If there is already an association of ‘key’ in tree with a value equal to ‘value’ (which is determined via predicate function ‘test’), then the original tree is returned instead. The default value of ‘test’ is eql.

This function returns a secondary value, which indicates, which changes have been performed in the resulting tree when compared to the original ‘tree’. Possible values are:

- ‘nil’, if there was already a suitable association for ‘key’ and ‘value’ in ‘tree’.
- ‘t’, if the key was not present in ‘tree’, and a new assocation has been added.
- a node object, which is the node, that has been replaced by one containing the new association.

Package

darts.lib.wbtree.

Source

implementation.lisp.


6.1.5 Standalone methods

Method: print-object ((ob wbtree) stream)
Source

implementation.lisp.


6.1.6 Structures

Structure: wbtree

Weight balanced binary tree. This structure defines the basic building blocks for the nodes of a WB tree. Each node consists of the following information:

- key: the node’s key value. The value of this field is undefined for the node representing an empty tree.
- value: the value associated with ‘key’. The actual value is undefined, if the node is representing the empty tree.
- count: number of key/value pairs in this node, i.e., 0, if this is the empty node, and 1 + left-count + right-count otherwise. - left: the left subtree. Either the empty tree, or a proper WB tree such, that all keys are "less than" this node’s key.
- right: the right subtree. Either the empty tree, or a proper WB tree such, that all keys are greater than" this node’s key.

Applications deal only with struct types, which are derived from this one via ‘:include’.

Package

darts.lib.wbtree.

Source

implementation.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: node-key
Readers

node-key.

Writers

This slot is read-only.

Slot: node-value
Readers

node-value.

Writers

This slot is read-only.

Slot: node-count
Initform

0

Readers

node-count.

Writers

This slot is read-only.

Slot: node-left
Readers

node-left.

Writers

This slot is read-only.

Slot: node-right
Readers

node-right.

Writers

This slot is read-only.


6.2 Internals


6.2.1 Constants

Constant: +weight+
Package

darts.lib.wbtree.

Source

implementation.lisp.


6.2.2 Macros

Macro: define-wbtree-really (name &body clauses)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Macro: with-function ((name &optional init-form) &body body)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Macro: with-node ((key value count left right) node &body body)
Package

darts.lib.wbtree.

Source

implementation.lisp.


6.2.3 Ordinary functions

Function: choose-right (key left right)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: concat (tree1 tree2 lessp make-node empty-node)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: concat-3 (key value left right lessp make-node empty-node)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: default-eql-modifier (proposed current)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: delete* (make-node left right)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: delete-minimum (make-node node)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: make-backward-iterator (comparator tree)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: make-forward-iterator (comparator tree)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: make-wbtree (&key node-key node-value node-count node-left node-right)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Reader: node-count (instance)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Target Slot

node-count.

Reader: node-key (instance)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Target Slot

node-key.

Reader: node-left (instance)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Target Slot

node-left.

Reader: node-right (instance)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Target Slot

node-right.

Reader: node-value (instance)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Target Slot

node-value.

Function: predicate-modifier (test)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: rebalance (make-node key value left right)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: rotate-once (direction make-node key value left right)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: rotate-twice (direction make-node key value left right)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: split-gt (key tree lessp make-node empty-node)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: split-lt (key tree lessp make-node empty-node)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-ceiling-node-1 (key tree lessp)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-check-invariants-1 (tree lessp)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-difference-1 (tree1 tree2 lessp make-node empty-node)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-equal-1 (tree1 tree2 test lessp)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-equal-2 (tree1 tree2 node-test lessp)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-find-node-1 (key tree lessp)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-floor-node-1 (key tree lessp)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-fold-1 (function tree lessp transform &key direction associativity initial-value start end)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-intersection-1 (tree1 tree2 combiner lessp make-node empty-node)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-load-form (tree constructor-cell empty-cell)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-map-1 (function tree lessp transformation &key direction collectp start end)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-rebalance-1 (tree constructor empty)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-remove-1 (key tree lessp make-node)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-union-1 (tree1 tree2 combiner lessp make-node empty-node)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Function: wbtree-update-1 (key value tree modifier lessp make-node empty-node)
Package

darts.lib.wbtree.

Source

implementation.lisp.


6.2.4 Generic functions

Generic Function: transform-key (key object)
Package

darts.lib.wbtree.

Source

implementation.lisp.

Methods
Method: transform-key (key (object wbtree))

Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
C   D   F   G   M   N   P   R   S   T   W  
Index Entry  Section

(
(setf wbtree-find): Public setf expanders

C
choose-right: Private ordinary functions
concat: Private ordinary functions
concat-3: Private ordinary functions

D
default-eql-modifier: Private ordinary functions
define-wbtree: Public macros
define-wbtree-really: Private macros
delete*: Private ordinary functions
delete-minimum: Private ordinary functions
do-correlated-wbtree-nodes: Public macros
do-wbtree: Public macros

F
Function, choose-right: Private ordinary functions
Function, concat: Private ordinary functions
Function, concat-3: Private ordinary functions
Function, default-eql-modifier: Private ordinary functions
Function, delete*: Private ordinary functions
Function, delete-minimum: Private ordinary functions
Function, make-backward-iterator: Private ordinary functions
Function, make-forward-iterator: Private ordinary functions
Function, make-wbtree: Private ordinary functions
Function, node-count: Private ordinary functions
Function, node-key: Private ordinary functions
Function, node-left: Private ordinary functions
Function, node-right: Private ordinary functions
Function, node-value: Private ordinary functions
Function, predicate-modifier: Private ordinary functions
Function, rebalance: Private ordinary functions
Function, rotate-once: Private ordinary functions
Function, rotate-twice: Private ordinary functions
Function, split-gt: Private ordinary functions
Function, split-lt: Private ordinary functions
Function, wbtree-ceiling-node-1: Private ordinary functions
Function, wbtree-check-invariants-1: Private ordinary functions
Function, wbtree-correlate: Public ordinary functions
Function, wbtree-difference-1: Private ordinary functions
Function, wbtree-empty-p: Public ordinary functions
Function, wbtree-equal-1: Private ordinary functions
Function, wbtree-equal-2: Private ordinary functions
Function, wbtree-find: Public ordinary functions
Function, wbtree-find-node-1: Private ordinary functions
Function, wbtree-floor-node-1: Private ordinary functions
Function, wbtree-fold-1: Private ordinary functions
Function, wbtree-intersection-1: Private ordinary functions
Function, wbtree-iterator: Public ordinary functions
Function, wbtree-load-form: Private ordinary functions
Function, wbtree-lower-boundary-node: Public ordinary functions
Function, wbtree-map-1: Private ordinary functions
Function, wbtree-maximum-node: Public ordinary functions
Function, wbtree-minimum-node: Public ordinary functions
Function, wbtree-node-key: Public ordinary functions
Function, wbtree-node-left-subtree: Public ordinary functions
Function, wbtree-node-right-subtree: Public ordinary functions
Function, wbtree-node-value: Public ordinary functions
Function, wbtree-rebalance-1: Private ordinary functions
Function, wbtree-remove-1: Private ordinary functions
Function, wbtree-scan-range-forward: Public ordinary functions
Function, wbtree-size: Public ordinary functions
Function, wbtree-union-1: Private ordinary functions
Function, wbtree-update-1: Private ordinary functions
Function, wbtree-upper-boundary-node: Public ordinary functions
Function, wbtreep: Public ordinary functions

G
Generic Function, transform-key: Private generic functions
Generic Function, wbtree-ceiling-node: Public generic functions
Generic Function, wbtree-check-invariants: Public generic functions
Generic Function, wbtree-difference: Public generic functions
Generic Function, wbtree-equal: Public generic functions
Generic Function, wbtree-find-node: Public generic functions
Generic Function, wbtree-floor-node: Public generic functions
Generic Function, wbtree-fold: Public generic functions
Generic Function, wbtree-intersection: Public generic functions
Generic Function, wbtree-map: Public generic functions
Generic Function, wbtree-modify: Public generic functions
Generic Function, wbtree-rebalance: Public generic functions
Generic Function, wbtree-remove: Public generic functions
Generic Function, wbtree-test: Public generic functions
Generic Function, wbtree-union: Public generic functions
Generic Function, wbtree-update: Public generic functions

M
Macro, define-wbtree: Public macros
Macro, define-wbtree-really: Private macros
Macro, do-correlated-wbtree-nodes: Public macros
Macro, do-wbtree: Public macros
Macro, with-function: Private macros
Macro, with-node: Private macros
make-backward-iterator: Private ordinary functions
make-forward-iterator: Private ordinary functions
make-wbtree: Private ordinary functions
Method, print-object: Public standalone methods
Method, transform-key: Private generic functions

N
node-count: Private ordinary functions
node-key: Private ordinary functions
node-left: Private ordinary functions
node-right: Private ordinary functions
node-value: Private ordinary functions

P
predicate-modifier: Private ordinary functions
print-object: Public standalone methods

R
rebalance: Private ordinary functions
rotate-once: Private ordinary functions
rotate-twice: Private ordinary functions

S
Setf Expander, (setf wbtree-find): Public setf expanders
split-gt: Private ordinary functions
split-lt: Private ordinary functions

T
transform-key: Private generic functions
transform-key: Private generic functions

W
wbtree-ceiling-node: Public generic functions
wbtree-ceiling-node-1: Private ordinary functions
wbtree-check-invariants: Public generic functions
wbtree-check-invariants-1: Private ordinary functions
wbtree-correlate: Public ordinary functions
wbtree-difference: Public generic functions
wbtree-difference-1: Private ordinary functions
wbtree-empty-p: Public ordinary functions
wbtree-equal: Public generic functions
wbtree-equal-1: Private ordinary functions
wbtree-equal-2: Private ordinary functions
wbtree-find: Public ordinary functions
wbtree-find-node: Public generic functions
wbtree-find-node-1: Private ordinary functions
wbtree-floor-node: Public generic functions
wbtree-floor-node-1: Private ordinary functions
wbtree-fold: Public generic functions
wbtree-fold-1: Private ordinary functions
wbtree-intersection: Public generic functions
wbtree-intersection-1: Private ordinary functions
wbtree-iterator: Public ordinary functions
wbtree-load-form: Private ordinary functions
wbtree-lower-boundary-node: Public ordinary functions
wbtree-map: Public generic functions
wbtree-map-1: Private ordinary functions
wbtree-maximum-node: Public ordinary functions
wbtree-minimum-node: Public ordinary functions
wbtree-modify: Public generic functions
wbtree-node-key: Public ordinary functions
wbtree-node-left-subtree: Public ordinary functions
wbtree-node-right-subtree: Public ordinary functions
wbtree-node-value: Public ordinary functions
wbtree-rebalance: Public generic functions
wbtree-rebalance-1: Private ordinary functions
wbtree-remove: Public generic functions
wbtree-remove-1: Private ordinary functions
wbtree-scan-range-forward: Public ordinary functions
wbtree-size: Public ordinary functions
wbtree-test: Public generic functions
wbtree-union: Public generic functions
wbtree-union-1: Private ordinary functions
wbtree-update: Public generic functions
wbtree-update-1: Private ordinary functions
wbtree-upper-boundary-node: Public ordinary functions
wbtreep: Public ordinary functions
with-function: Private macros
with-node: Private macros