The darts.lib.wbtree Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The darts.lib.wbtree Reference Manual

This is the darts.lib.wbtree Reference Manual, version 0.1, generated automatically by Declt version 2.4 "Will Decker" on Wed Jun 20 11:40:08 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

Functional Maps and Trees

This project provides a few purely functional data structures. Right now, it provides:

The tree structures provided by this project are immutable, i.e., cannot be modified once they have been constructed. Mutation operations return newly constructed tree instances (which may actually share state with the original tree, to which the operation was applied).

Weight-Balanced Binary Trees

The system darts.lib.wbtree provides support for weight-balanced binary trees, modelled after the paper "Implementing Sets Efficiently in a Functional Language" by S. Adams.

Applications can define their own subtypes of the wbtree type, with a specialized comparison predicate for the actual key type.

Debugging helpers and esoterica

Compatibility

Hash Tries

A hash trie is a purely functional data structure, which provides a mapping from keys to values using hashing. Unlike Common Lisp's standard hash tables, hash tries are immutable. Any operation, which changes a hash trie returns a copy. Also, hash tries can use any equivalence predicate and hash function you care to provide. The default equivalence predicate is eql, and the default hash function is sxhash.

The implementation of hash tries can be found in package DARTS.LIB.HASHTRIE.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 darts.lib.wbtree

Maintainer

Dirk Esser

Author

Dirk Esser

License

MIT

Description

Weight-balanced binary tree

Long Description
Version

0.1

Source

darts.lib.wbtree.asd (file)

Component

src (module)


Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

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


Next: , Previous: , Up: Modules   [Contents][Index]

3.1 darts.lib.wbtree/src

Parent

darts.lib.wbtree (system)

Location

src/

Component

wbtree (module)


Previous: , Up: Modules   [Contents][Index]

3.2 darts.lib.wbtree/src/wbtree

Parent

src (module)

Location

src/wbtree/

Components

Next: , Previous: , Up: Top   [Contents][Index]

4 Files

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


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 darts.lib.wbtree.asd

Location

darts.lib.wbtree.asd

Systems

darts.lib.wbtree (system)

Packages

darts.asdf


Next: , Previous: , Up: Lisp files   [Contents][Index]

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

Parent

wbtree (module)

Location

src/wbtree/package.lisp

Packages

darts.lib.wbtree


Previous: , Up: Lisp files   [Contents][Index]

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

Dependency

package.lisp (file)

Parent

wbtree (module)

Location

src/wbtree/implementation.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

5.1 darts.asdf

Source

darts.lib.wbtree.asd

Use List

Previous: , Up: Packages   [Contents][Index]

5.2 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 (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Macros

Macro: define-wbtree NAME &body REST
Package

darts.lib.wbtree

Source

implementation.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Functions

Function: wbtree-empty-p NODE

Tests, whether ‘node’ represents an empty tree.

Package

darts.lib.wbtree

Source

implementation.lisp (file)

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 (file)

Setf Expander

(setf wbtree-find) (setf expander)

Setf Expander: (setf wbtree-find) KEY-FORM PLACE &optional DEFAULT
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Reader

wbtree-find (function)

Function: wbtree-iterator TREE &key DIRECTION
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-lower-boundary-node KEY TREE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: wbtree-size NODE

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

Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-upper-boundary-node KEY TREE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtreep OBJECT
Package

darts.lib.wbtree

Source

implementation.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.3 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 (file)

Generic Function: wbtree-check-invariants TREE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

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 (file)

Generic Function: wbtree-equal TREE1 TREE2 &key TEST
Package

darts.lib.wbtree

Source

implementation.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)


Previous: , Up: Exported definitions   [Contents][Index]

6.1.4 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 (file)

Direct superclasses

structure-object (structure)

Direct methods

print-object (method)

Direct slots
Slot: node-key
Readers

node-key (function)

Writers

(setf node-key) (function)

Slot: node-value
Readers

node-value (function)

Writers

(setf node-value) (function)

Slot: node-count
Initform

0

Readers

node-count (function)

Writers

(setf node-count) (function)

Slot: node-left
Readers

node-left (function)

Writers

(setf node-left) (function)

Slot: node-right
Readers

node-right (function)

Writers

(setf node-right) (function)


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Constants

Constant: +weight+
Package

darts.lib.wbtree

Source

implementation.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Macros

Macro: define-wbtree-really NAME &body CLAUSES
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Macro: do-wbtree ((KEY VALUE) TREE &rest OPTIONS) &body BODY
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Macro: with-function (NAME &optional INIT-FORM) &body BODY
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Macro: with-node (KEY VALUE COUNT LEFT RIGHT) NODE &body BODY
Package

darts.lib.wbtree

Source

implementation.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

6.2.3 Functions

Function: choose-right KEY LEFT RIGHT
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: concat TREE1 TREE2 LESSP MAKE-NODE EMPTY-NODE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: concat-3 KEY VALUE LEFT RIGHT LESSP MAKE-NODE EMPTY-NODE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: delete* MAKE-NODE LEFT RIGHT
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: delete-minimum MAKE-NODE NODE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: make-wbtree &key (NODE-KEY NODE-KEY) (NODE-VALUE NODE-VALUE) (NODE-COUNT NODE-COUNT) (NODE-LEFT NODE-LEFT) (NODE-RIGHT NODE-RIGHT)
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: node-count INSTANCE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: node-key INSTANCE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: node-left INSTANCE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: node-right INSTANCE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: node-value INSTANCE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: rebalance MAKE-NODE KEY VALUE LEFT RIGHT
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: rotate-once DIRECTION MAKE-NODE KEY VALUE LEFT RIGHT
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: rotate-twice DIRECTION MAKE-NODE KEY VALUE LEFT RIGHT
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: split-gt KEY TREE LESSP MAKE-NODE EMPTY-NODE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: split-lt KEY TREE LESSP MAKE-NODE EMPTY-NODE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-ceiling-node-1 KEY TREE LESSP
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-check-invariants-1 TREE LESSP
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-difference-1 TREE1 TREE2 LESSP MAKE-NODE EMPTY-NODE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-equal-1 TREE1 TREE2 TEST LESSP
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-find-node-1 KEY TREE LESSP
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-floor-node-1 KEY TREE LESSP
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-fold-1 ()
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-intersection-1 TREE1 TREE2 COMBINER LESSP MAKE-NODE EMPTY-NODE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-load-form TREE CONSTRUCTOR-CELL EMPTY-CELL
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-map-1 FUNCTION TREE LESSP TRANSFORMATION &key DIRECTION COLLECTP START END
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-rebalance-1 TREE CONSTRUCTOR EMPTY
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-remove-1 KEY TREE LESSP MAKE-NODE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-union-1 TREE1 TREE2 COMBINER LESSP MAKE-NODE EMPTY-NODE
Package

darts.lib.wbtree

Source

implementation.lisp (file)

Function: wbtree-update-1 KEY VALUE TREE TEST LESSP MAKE-NODE EMPTY-NODE
Package

darts.lib.wbtree

Source

implementation.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   D   F   L   M  
Index Entry  Section

D
darts.lib.wbtree.asd: The darts<dot>lib<dot>wbtree<dot>asd file
darts.lib.wbtree/src: The darts<dot>lib<dot>wbtree/src module
darts.lib.wbtree/src/wbtree: The darts<dot>lib<dot>wbtree/src/wbtree module
darts.lib.wbtree/src/wbtree/implementation.lisp: The darts<dot>lib<dot>wbtree/src/wbtree/implementation<dot>lisp file
darts.lib.wbtree/src/wbtree/package.lisp: The darts<dot>lib<dot>wbtree/src/wbtree/package<dot>lisp file

F
File, Lisp, darts.lib.wbtree.asd: The darts<dot>lib<dot>wbtree<dot>asd file
File, Lisp, darts.lib.wbtree/src/wbtree/implementation.lisp: The darts<dot>lib<dot>wbtree/src/wbtree/implementation<dot>lisp file
File, Lisp, darts.lib.wbtree/src/wbtree/package.lisp: The darts<dot>lib<dot>wbtree/src/wbtree/package<dot>lisp file

L
Lisp File, darts.lib.wbtree.asd: The darts<dot>lib<dot>wbtree<dot>asd file
Lisp File, darts.lib.wbtree/src/wbtree/implementation.lisp: The darts<dot>lib<dot>wbtree/src/wbtree/implementation<dot>lisp file
Lisp File, darts.lib.wbtree/src/wbtree/package.lisp: The darts<dot>lib<dot>wbtree/src/wbtree/package<dot>lisp file

M
Module, darts.lib.wbtree/src: The darts<dot>lib<dot>wbtree/src module
Module, darts.lib.wbtree/src/wbtree: The darts<dot>lib<dot>wbtree/src/wbtree module

Jump to:   D   F   L   M  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

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

(
(setf wbtree-find): Exported functions

C
choose-right: Internal functions
concat: Internal functions
concat-3: Internal functions

D
define-wbtree: Exported macros
define-wbtree-really: Internal macros
delete*: Internal functions
delete-minimum: Internal functions
do-wbtree: Internal macros

F
Function, choose-right: Internal functions
Function, concat: Internal functions
Function, concat-3: Internal functions
Function, delete*: Internal functions
Function, delete-minimum: Internal functions
Function, make-wbtree: Internal functions
Function, node-count: Internal functions
Function, node-key: Internal functions
Function, node-left: Internal functions
Function, node-right: Internal functions
Function, node-value: Internal functions
Function, rebalance: Internal functions
Function, rotate-once: Internal functions
Function, rotate-twice: Internal functions
Function, split-gt: Internal functions
Function, split-lt: Internal functions
Function, wbtree-ceiling-node-1: Internal functions
Function, wbtree-check-invariants-1: Internal functions
Function, wbtree-difference-1: Internal functions
Function, wbtree-empty-p: Exported functions
Function, wbtree-equal-1: Internal functions
Function, wbtree-find: Exported functions
Function, wbtree-find-node-1: Internal functions
Function, wbtree-floor-node-1: Internal functions
Function, wbtree-fold-1: Internal functions
Function, wbtree-intersection-1: Internal functions
Function, wbtree-iterator: Exported functions
Function, wbtree-load-form: Internal functions
Function, wbtree-lower-boundary-node: Exported functions
Function, wbtree-map-1: Internal functions
Function, wbtree-maximum-node: Exported functions
Function, wbtree-minimum-node: Exported functions
Function, wbtree-node-key: Exported functions
Function, wbtree-node-left-subtree: Exported functions
Function, wbtree-node-right-subtree: Exported functions
Function, wbtree-node-value: Exported functions
Function, wbtree-rebalance-1: Internal functions
Function, wbtree-remove-1: Internal functions
Function, wbtree-size: Exported functions
Function, wbtree-union-1: Internal functions
Function, wbtree-update-1: Internal functions
Function, wbtree-upper-boundary-node: Exported functions
Function, wbtreep: Exported functions

G
Generic Function, wbtree-ceiling-node: Exported generic functions
Generic Function, wbtree-check-invariants: Exported generic functions
Generic Function, wbtree-difference: Exported generic functions
Generic Function, wbtree-equal: Exported generic functions
Generic Function, wbtree-find-node: Exported generic functions
Generic Function, wbtree-floor-node: Exported generic functions
Generic Function, wbtree-fold: Exported generic functions
Generic Function, wbtree-intersection: Exported generic functions
Generic Function, wbtree-map: Exported generic functions
Generic Function, wbtree-rebalance: Exported generic functions
Generic Function, wbtree-remove: Exported generic functions
Generic Function, wbtree-union: Exported generic functions
Generic Function, wbtree-update: Exported generic functions

M
Macro, define-wbtree: Exported macros
Macro, define-wbtree-really: Internal macros
Macro, do-wbtree: Internal macros
Macro, with-function: Internal macros
Macro, with-node: Internal macros
make-wbtree: Internal functions

N
node-count: Internal functions
node-key: Internal functions
node-left: Internal functions
node-right: Internal functions
node-value: Internal functions

R
rebalance: Internal functions
rotate-once: Internal functions
rotate-twice: Internal functions

S
Setf Expander, (setf wbtree-find): Exported functions
split-gt: Internal functions
split-lt: Internal functions

W
wbtree-ceiling-node: Exported generic functions
wbtree-ceiling-node-1: Internal functions
wbtree-check-invariants: Exported generic functions
wbtree-check-invariants-1: Internal functions
wbtree-difference: Exported generic functions
wbtree-difference-1: Internal functions
wbtree-empty-p: Exported functions
wbtree-equal: Exported generic functions
wbtree-equal-1: Internal functions
wbtree-find: Exported functions
wbtree-find-node: Exported generic functions
wbtree-find-node-1: Internal functions
wbtree-floor-node: Exported generic functions
wbtree-floor-node-1: Internal functions
wbtree-fold: Exported generic functions
wbtree-fold-1: Internal functions
wbtree-intersection: Exported generic functions
wbtree-intersection-1: Internal functions
wbtree-iterator: Exported functions
wbtree-load-form: Internal functions
wbtree-lower-boundary-node: Exported functions
wbtree-map: Exported generic functions
wbtree-map-1: Internal functions
wbtree-maximum-node: Exported functions
wbtree-minimum-node: Exported functions
wbtree-node-key: Exported functions
wbtree-node-left-subtree: Exported functions
wbtree-node-right-subtree: Exported functions
wbtree-node-value: Exported functions
wbtree-rebalance: Exported generic functions
wbtree-rebalance-1: Internal functions
wbtree-remove: Exported generic functions
wbtree-remove-1: Internal functions
wbtree-size: Exported functions
wbtree-union: Exported generic functions
wbtree-union-1: Internal functions
wbtree-update: Exported generic functions
wbtree-update-1: Internal functions
wbtree-upper-boundary-node: Exported functions
wbtreep: Exported functions
with-function: Internal macros
with-node: Internal macros

Jump to:   (  
C   D   F   G   M   N   R   S   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   +  
C   N   S  
Index Entry  Section

+
+weight+: Internal constants

C
Constant, +weight+: Internal constants

N
node-count: Exported structures
node-key: Exported structures
node-left: Exported structures
node-right: Exported structures
node-value: Exported structures

S
Slot, node-count: Exported structures
Slot, node-key: Exported structures
Slot, node-left: Exported structures
Slot, node-right: Exported structures
Slot, node-value: Exported structures

Jump to:   +  
C   N   S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   D   P   S   W  
Index Entry  Section

D
darts.asdf: The darts<dot>asdf package
darts.lib.wbtree: The darts<dot>lib<dot>wbtree system
darts.lib.wbtree: The darts<dot>lib<dot>wbtree package

P
Package, darts.asdf: The darts<dot>asdf package
Package, darts.lib.wbtree: The darts<dot>lib<dot>wbtree package

S
Structure, wbtree: Exported structures
System, darts.lib.wbtree: The darts<dot>lib<dot>wbtree system

W
wbtree: Exported structures

Jump to:   D   P   S   W