The hh-redblack Reference Manual

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

The hh-redblack Reference Manual

This is the hh-redblack Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Nov 15 05:58:25 2022 GMT+0.

Table of Contents


1 Introduction

hh-redblack

This package is a Common Lisp implemention of red-black trees (http://en.wikipedia.org/wiki/Red-black_tree)
using the algorithms described in Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, 
Ronald L. Rivest, and Clifford Stein.

In addition to a straight-forward in-memory implementation of red-black trees, an implementation of a persistent
tree is also included.  The persistent implementation uses a text file for storage (for human readability), and
uses an append-only strategy for updating that text file.  A footer always appears at the end of the file (actually, 
a footer and a backup copy of the footer), containing information about where the root of the tree is located
and other relevant housekeeping details.  A small header appears at the beginning of the file containing
a version number for the tree's storage format.  Under correct behavior, at no time is any byte of the file
written more than once.

Contact phil@haphazardhouse.net for any questions, comments, feedback, or contributions, and keep an eye on
http://haphazardhouse.net/projects/hh-redblack for info and news about hh-redblack.

Thanks!

2 Systems

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


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

2.1 hh-redblack

Version

0.1

Source

hh-redblack.asd.

Child Components

3 Files

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


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

3.1 Lisp


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

3.1.1 hh-redblack/hh-redblack.asd

Source

hh-redblack.asd.

Parent Component

hh-redblack (system).

ASDF Systems

hh-redblack.


3.1.2 hh-redblack/package.lisp

Source

hh-redblack.asd.

Parent Component

hh-redblack (system).

Packages

3.1.3 hh-redblack/base.lisp

Dependency

package.lisp (file).

Source

hh-redblack.asd.

Parent Component

hh-redblack (system).

Public Interface
Internals

3.1.4 hh-redblack/memory.lisp

Dependency

base.lisp (file).

Source

hh-redblack.asd.

Parent Component

hh-redblack (system).

Public Interface

make-red-black-tree (function).

Internals

3.1.5 hh-redblack/persistent.lisp

Dependency

base.lisp (file).

Source

hh-redblack.asd.

Parent Component

hh-redblack (system).

Public Interface
Internals

3.1.6 hh-redblack/array.lisp

Dependency

persistent.lisp (file).

Source

hh-redblack.asd.

Parent Component

hh-redblack (system).

Public Interface

make-memory-persistent-red-black-tree (function).

Internals

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

3.1.7 hh-redblack/text.lisp

Dependency

persistent.lisp (file).

Source

hh-redblack.asd.

Parent Component

hh-redblack (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


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

4.1 hh-redblack

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

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

4.2 hh-redblack-asd

Source

package.lisp.

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

5 Definitions

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


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

5.1 Public Interface


5.1.1 Macros

Macro: with-rb-keys-and-data ((key-var data-var &optional starting-point) tree &rest body)
Package

hh-redblack.

Source

base.lisp.

Macro: with-rb-transaction ((tree) &rest body)
Package

hh-redblack.

Source

persistent.lisp.


5.1.2 Ordinary functions

Function: make-memory-persistent-red-black-tree (&optional deduplicate)
Package

hh-redblack.

Source

array.lisp.

Function: make-red-black-tree (&optional deduplicate)
Package

hh-redblack.

Source

memory.lisp.

Function: make-text-file-red-black-tree (file-name &optional deduplicate)
Package

hh-redblack.

Source

text.lisp.


5.1.3 Generic functions

Generic Function: rb-get (tree key &optional default)

Returns 2 values, just like gethash: if the key is present, returns the associated data and t (indicating data was present), otherwise returns the default and nil

Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-get ((tree red-black-tree) key &optional default)
Generic Function: rb-keys (tree)

Return all keys of the tree as an ordered list; not recommended for large trees

Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-keys ((tree red-black-tree))
Generic Function: rb-put (tree key data)

Equivalent to sethash with a hashtable: set the data for a given key in the provided tree

Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-put ((tree red-black-tree) key data)
Generic Function: rb-remove (tree key)

Remove the node with the indicated key from the tree

Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-remove ((tree red-black-tree) key)
Generic Function: rb-size (tree)

Calculate the number of nodes in the tree

Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-size ((tree red-black-tree))
Generic Function: rb< (left-key right-key)

Return t if the left key is less than the right key, nil otherwise

Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb< ((left string) (right string))
Method: rb< ((left number) (right number))
Generic Function: rb= (left-key right-key)

Return t if the left key and right key are equivalent

Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb= ((left string) (right string))
Method: rb= ((left number) (right number))

5.1.4 Standalone methods

Method: initialize-instance :before ((tree persistent-red-black-tree) &key)
Source

persistent.lisp.

Method: initialize-instance :after ((tree red-black-tree) &key)
Source

base.lisp.

Method: print-object ((obj persistent-red-black-node) stream)
Source

persistent.lisp.

Method: print-object ((object storage-header) stream)
Source

text.lisp.

Method: print-object ((object storage-footer) stream)
Source

text.lisp.

Method: print-object ((object storage-location) stream)
Source

text.lisp.

Method: print-object ((object storage-form) stream)
Source

text.lisp.

Method: print-object ((obj red-black-node) stream)
Source

base.lisp.

Method: print-object ((obj persistent-red-black-data) stream)
Source

persistent.lisp.

Method: print-object ((obj red-black-tree) stream)
Source

base.lisp.

Method: print-object ((object storage-node) stream)
Source

text.lisp.

Method: print-object ((data storage-data) stream)
Source

text.lisp.


5.1.5 Conditions

Condition: requires-red-black-transaction
Package

hh-redblack.

Source

persistent.lisp.

Direct superclasses

condition.


5.2 Internals


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

5.2.1 Special variables

Special Variable: *rb-transaction*

The currently active transaction on a red-black tree

Package

hh-redblack.

Source

persistent.lisp.


5.2.2 Macros

Package

hh-redblack.

Source

text.lisp.

Macro: form (number contents)
Package

hh-redblack.

Source

text.lisp.

Macro: header (version)
Package

hh-redblack.

Source

text.lisp.

Macro: loc (form offset)
Package

hh-redblack.

Source

text.lisp.

Macro: node (&key left right color key data)
Package

hh-redblack.

Source

text.lisp.

Macro: node-data (content)
Package

hh-redblack.

Source

text.lisp.


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

5.2.3 Ordinary functions

Function: clear-changes ()
Package

hh-redblack.

Source

persistent.lisp.

Function: close-storage-stream (tree)
Package

hh-redblack.

Source

text.lisp.

Function: make-storage-footer (tree)
Package

hh-redblack.

Source

text.lisp.

Function: make-storage-header (tree)
Package

hh-redblack.

Source

text.lisp.

Function: open-storage-stream (tree)
Package

hh-redblack.

Source

text.lisp.

Function: read-stored-object (stream)
Package

hh-redblack.

Source

text.lisp.

Function: require-rb-transaction ()
Package

hh-redblack.

Source

persistent.lisp.

Function: sort-into-save-order (changes)
Package

hh-redblack.

Source

persistent.lisp.

Function: write-stored-object (stream object)
Package

hh-redblack.

Source

text.lisp.


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

5.2.4 Generic functions

Generic Function: add-changed-object (transaction object)
Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: add-changed-object ((*rb-transaction* red-black-tree-transaction) object)
Generic Function: add-child-object (transaction parent child)
Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: add-child-object ((*rb-transaction* red-black-tree-transaction) (parent persistent-red-black-node) child)
Method: add-child-object ((*rb-transaction* red-black-tree-transaction) (parent persistent-red-black-node) (child persistent-red-black-object))
Generic Function: add-new-object (transaction object)
Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: add-new-object ((*rb-transaction* red-black-tree-transaction) object)
Generic Function: allocation-size (tree object)

Size of the object persisted in the tree’s storage; the units of measures for the size depend on the tree’s storage implementation

Package

hh-redblack.

Source

text.lisp.

Methods
Method: allocation-size ((tree text-file-red-black-tree) (footer storage-footer))
Method: allocation-size ((tree text-file-red-black-tree) (header storage-header))
Method: allocation-size ((tree text-file-red-black-tree) object)
Generic Function: ancestor-p (node possible-ancestor)
Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: ancestor-p ((node persistent-red-black-node) (possible-ancestor persistent-red-black-node))
Generic Function: changedp (transaction object)
Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: changedp ((*rb-transaction* red-black-tree-transaction) object)
Generic Reader: changes (object)
Package

hh-redblack.

Methods
Reader Method: changes ((red-black-tree-transaction red-black-tree-transaction))

automatically generated reader method

Source

persistent.lisp.

Target Slot

changes.

Generic Writer: (setf changes) (object)
Package

hh-redblack.

Methods
Writer Method: (setf changes) ((red-black-tree-transaction red-black-tree-transaction))

automatically generated writer method

Source

persistent.lisp.

Target Slot

changes.

Generic Function: color (node)
Package

hh-redblack.

Source

base.lisp.

Methods
Reader Method: color ((storage-node storage-node))

automatically generated reader method

Source

text.lisp.

Target Slot

color.

Reader Method: color :around ((node persistent-red-black-node))
Source

persistent.lisp.

Target Slot

color.

Method: color ((persistent-red-black-node persistent-red-black-node))

automatically generated reader method

Source

persistent.lisp.

Reader Method: color ((memory-red-black-node memory-red-black-node))

automatically generated reader method

Source

memory.lisp.

Target Slot

color.

Generic Function: (setf color) (node)
Package

hh-redblack.

Source

base.lisp.

Methods
Writer Method: (setf color) ((storage-node storage-node))

automatically generated writer method

Source

text.lisp.

Target Slot

color.

Writer Method: (setf color) :around ((node persistent-red-black-node))
Source

persistent.lisp.

Target Slot

color.

Method: (setf color) ((persistent-red-black-node persistent-red-black-node))

automatically generated writer method

Source

persistent.lisp.

Writer Method: (setf color) ((memory-red-black-node memory-red-black-node))

automatically generated writer method

Source

memory.lisp.

Target Slot

color.

Generic Function: compare-save-order (left right)
Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: compare-save-order ((left persistent-red-black-node) (right persistent-red-black-node))
Method: compare-save-order (left (right persistent-red-black-node))
Method: compare-save-order ((left persistent-red-black-node) right)
Method: compare-save-order (left right)
Generic Reader: content (object)
Package

hh-redblack.

Methods
Reader Method: content ((storage-data storage-data))

automatically generated reader method

Source

text.lisp.

Target Slot

content.

Generic Writer: (setf content) (object)
Package

hh-redblack.

Methods
Writer Method: (setf content) ((storage-data storage-data))

automatically generated writer method

Source

text.lisp.

Target Slot

content.

Generic Function: contents (object)
Package

hh-redblack.

Methods
Reader Method: contents ((storage-form storage-form))

automatically generated reader method

Source

text.lisp.

Target Slot

contents.

Reader Method: contents :around ((data persistent-red-black-data))
Source

persistent.lisp.

Target Slot

contents.

Method: contents ((persistent-red-black-data persistent-red-black-data))

automatically generated reader method

Source

persistent.lisp.

Generic Writer: (setf contents) (object)
Package

hh-redblack.

Methods
Writer Method: (setf contents) ((storage-form storage-form))

automatically generated writer method

Source

text.lisp.

Target Slot

contents.

Writer Method: (setf contents) ((persistent-red-black-data persistent-red-black-data))

automatically generated writer method

Source

persistent.lisp.

Target Slot

contents.

Generic Function: data (node)
Package

hh-redblack.

Source

base.lisp.

Methods
Reader Method: data ((storage-node storage-node))

automatically generated reader method

Source

text.lisp.

Target Slot

data.

Reader Method: data :around ((node persistent-red-black-node))
Source

persistent.lisp.

Target Slot

data.

Method: data ((persistent-red-black-node persistent-red-black-node))

automatically generated reader method

Source

persistent.lisp.

Reader Method: data ((memory-red-black-node memory-red-black-node))

automatically generated reader method

Source

memory.lisp.

Target Slot

data.

Generic Function: (setf data) (node)
Package

hh-redblack.

Source

base.lisp.

Methods
Writer Method: (setf data) ((storage-node storage-node))

automatically generated writer method

Source

text.lisp.

Target Slot

data.

Writer Method: (setf data) :around ((node persistent-red-black-node))
Source

persistent.lisp.

Target Slot

data.

Method: (setf data) ((persistent-red-black-node persistent-red-black-node))

automatically generated writer method

Source

persistent.lisp.

Writer Method: (setf data) ((memory-red-black-node memory-red-black-node))

automatically generated writer method

Source

memory.lisp.

Target Slot

data.

Generic Reader: deduplicate (node)
Package

hh-redblack.

Source

base.lisp.

Methods
Reader Method: deduplicate ((persistent-red-black-tree persistent-red-black-tree))

automatically generated reader method

Source

persistent.lisp.

Target Slot

deduplicate.

Reader Method: deduplicate ((memory-red-black-tree memory-red-black-tree))

automatically generated reader method

Source

memory.lisp.

Target Slot

deduplicate.

Generic Writer: (setf deduplicate) (node)
Package

hh-redblack.

Source

base.lisp.

Methods
Writer Method: (setf deduplicate) ((persistent-red-black-tree persistent-red-black-tree))

automatically generated writer method

Source

persistent.lisp.

Target Slot

deduplicate.

Writer Method: (setf deduplicate) ((memory-red-black-tree memory-red-black-tree))

automatically generated writer method

Source

memory.lisp.

Target Slot

deduplicate.

Generic Function: equality (left right)

The equality test is important for detecting consistency of the footer and its backup

Package

hh-redblack.

Source

text.lisp.

Methods
Method: equality (left right)
Method: equality ((left storage-location) (right storage-location))
Method: equality ((left storage-footer) (right storage-footer))
Generic Reader: file-name (object)
Package

hh-redblack.

Methods
Reader Method: file-name ((text-file-red-black-tree text-file-red-black-tree))

automatically generated reader method

Source

text.lisp.

Target Slot

file-name.

Generic Writer: (setf file-name) (object)
Package

hh-redblack.

Methods
Writer Method: (setf file-name) ((text-file-red-black-tree text-file-red-black-tree))

automatically generated writer method

Source

text.lisp.

Target Slot

file-name.

Generic Reader: form-number (object)
Package

hh-redblack.

Methods
Reader Method: form-number ((storage-form storage-form))

automatically generated reader method

Source

text.lisp.

Target Slot

form-number.

Reader Method: form-number ((storage-location storage-location))

automatically generated reader method

Source

text.lisp.

Target Slot

form-number.

Generic Writer: (setf form-number) (object)
Package

hh-redblack.

Methods
Writer Method: (setf form-number) ((storage-form storage-form))

automatically generated writer method

Source

text.lisp.

Target Slot

form-number.

Writer Method: (setf form-number) ((storage-location storage-location))

automatically generated writer method

Source

text.lisp.

Target Slot

form-number.

Generic Function: key (node)
Package

hh-redblack.

Source

base.lisp.

Methods
Reader Method: key ((storage-node storage-node))

automatically generated reader method

Source

text.lisp.

Target Slot

key.

Reader Method: key :around ((node persistent-red-black-node))
Source

persistent.lisp.

Target Slot

key.

Method: key ((persistent-red-black-node persistent-red-black-node))

automatically generated reader method

Source

persistent.lisp.

Reader Method: key ((memory-red-black-node memory-red-black-node))

automatically generated reader method

Source

memory.lisp.

Target Slot

key.

Generic Function: (setf key) (node)
Package

hh-redblack.

Source

base.lisp.

Methods
Writer Method: (setf key) ((storage-node storage-node))

automatically generated writer method

Source

text.lisp.

Target Slot

key.

Writer Method: (setf key) :around ((node persistent-red-black-node))
Source

persistent.lisp.

Target Slot

key.

Method: (setf key) ((persistent-red-black-node persistent-red-black-node))

automatically generated writer method

Source

persistent.lisp.

Writer Method: (setf key) ((memory-red-black-node memory-red-black-node))

automatically generated writer method

Source

memory.lisp.

Target Slot

key.

Generic Reader: leaf (object)
Package

hh-redblack.

Methods
Reader Method: leaf ((storage-footer storage-footer))

automatically generated reader method

Source

text.lisp.

Target Slot

leaf.

Reader Method: leaf ((persistent-red-black-tree persistent-red-black-tree))

automatically generated reader method

Source

persistent.lisp.

Target Slot

leaf.

Reader Method: leaf ((memory-red-black-tree memory-red-black-tree))

automatically generated reader method

Source

memory.lisp.

Target Slot

leaf.

Generic Function: (setf leaf) (object)
Package

hh-redblack.

Methods
Writer Method: (setf leaf) ((storage-footer storage-footer))

automatically generated writer method

Source

text.lisp.

Target Slot

leaf.

Writer Method: (setf leaf) :around ((tree persistent-red-black-tree))
Source

persistent.lisp.

Target Slot

leaf.

Method: (setf leaf) ((persistent-red-black-tree persistent-red-black-tree))

automatically generated writer method

Source

persistent.lisp.

Writer Method: (setf leaf) ((memory-red-black-tree memory-red-black-tree))

automatically generated writer method

Source

memory.lisp.

Target Slot

leaf.

Generic Function: leafp (tree node)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: leafp ((tree red-black-tree) (node red-black-node))
Generic Function: left (node)
Package

hh-redblack.

Source

base.lisp.

Methods
Reader Method: left ((storage-node storage-node))

automatically generated reader method

Source

text.lisp.

Target Slot

left.

Reader Method: left :around ((node persistent-red-black-node))
Source

persistent.lisp.

Target Slot

left.

Method: left ((persistent-red-black-node persistent-red-black-node))

automatically generated reader method

Source

persistent.lisp.

Reader Method: left ((memory-red-black-node memory-red-black-node))

automatically generated reader method

Source

memory.lisp.

Target Slot

left.

Generic Function: (setf left) (node)
Package

hh-redblack.

Source

base.lisp.

Methods
Writer Method: (setf left) ((storage-node storage-node))

automatically generated writer method

Source

text.lisp.

Target Slot

left.

Writer Method: (setf left) :around ((node persistent-red-black-node))
Source

persistent.lisp.

Target Slot

left.

Method: (setf left) ((persistent-red-black-node persistent-red-black-node))

automatically generated writer method

Source

persistent.lisp.

Writer Method: (setf left) ((memory-red-black-node memory-red-black-node))

automatically generated writer method

Source

memory.lisp.

Target Slot

left.

Generic Function: loaded-p (object)
Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: loaded-p ((object persistent-red-black-object))
Generic Reader: location (object)
Package

hh-redblack.

Methods
Reader Method: location ((text-file-red-black-object text-file-red-black-object))

automatically generated reader method

Source

text.lisp.

Target Slot

location.

Reader Method: location ((persistent-red-black-object persistent-red-black-object))

automatically generated reader method

Source

persistent.lisp.

Target Slot

location.

Generic Writer: (setf location) (object)
Package

hh-redblack.

Methods
Writer Method: (setf location) ((text-file-red-black-object text-file-red-black-object))

automatically generated writer method

Source

text.lisp.

Target Slot

location.

Writer Method: (setf location) ((persistent-red-black-object persistent-red-black-object))

automatically generated writer method

Source

persistent.lisp.

Target Slot

location.

Generic Reader: new-root (object)
Package

hh-redblack.

Methods
Reader Method: new-root ((red-black-tree-transaction red-black-tree-transaction))

automatically generated reader method

Source

persistent.lisp.

Target Slot

new-root.

Generic Writer: (setf new-root) (object)
Package

hh-redblack.

Methods
Writer Method: (setf new-root) ((red-black-tree-transaction red-black-tree-transaction))

automatically generated writer method

Source

persistent.lisp.

Target Slot

new-root.

Generic Reader: next-form-number (object)
Package

hh-redblack.

Methods
Reader Method: next-form-number ((storage-footer storage-footer))

automatically generated reader method

Source

text.lisp.

Target Slot

next-form-number.

Reader Method: next-form-number ((text-file-red-black-tree text-file-red-black-tree))

automatically generated reader method

Source

text.lisp.

Target Slot

next-form-number.

Generic Writer: (setf next-form-number) (object)
Package

hh-redblack.

Methods
Writer Method: (setf next-form-number) ((storage-footer storage-footer))

automatically generated writer method

Source

text.lisp.

Target Slot

next-form-number.

Writer Method: (setf next-form-number) ((text-file-red-black-tree text-file-red-black-tree))

automatically generated writer method

Source

text.lisp.

Target Slot

next-form-number.

Generic Reader: objects (object)
Package

hh-redblack.

Methods
Reader Method: objects ((memory-persistent-red-black-tree memory-persistent-red-black-tree))

automatically generated reader method

Source

array.lisp.

Target Slot

objects.

Generic Writer: (setf objects) (object)
Package

hh-redblack.

Methods
Writer Method: (setf objects) ((memory-persistent-red-black-tree memory-persistent-red-black-tree))

automatically generated writer method

Source

array.lisp.

Target Slot

objects.

Generic Reader: offset (object)
Package

hh-redblack.

Methods
Reader Method: offset ((storage-location storage-location))

automatically generated reader method

Source

text.lisp.

Target Slot

offset.

Generic Writer: (setf offset) (object)
Package

hh-redblack.

Methods
Writer Method: (setf offset) ((storage-location storage-location))

automatically generated writer method

Source

text.lisp.

Target Slot

offset.

Generic Function: parent (node)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: parent ((node persistent-red-black-node))
Source

persistent.lisp.

Reader Method: parent ((memory-red-black-node memory-red-black-node))

automatically generated reader method

Source

memory.lisp.

Target Slot

parent.

Generic Function: (setf parent) (node)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: (setf parent) ((node persistent-red-black-node))
Source

persistent.lisp.

Writer Method: (setf parent) ((memory-red-black-node memory-red-black-node))

automatically generated writer method

Source

memory.lisp.

Target Slot

parent.

Generic Reader: parents (object)
Generic Writer: (setf parents) (object)
Package

hh-redblack.

Methods
Reader Method: parents ((red-black-tree-transaction red-black-tree-transaction))
Writer Method: (setf parents) ((red-black-tree-transaction red-black-tree-transaction))

For mapping objects to their parent objects

Source

persistent.lisp.

Target Slot

parents.

Generic Function: prb-abort (transaction-or-tree)

Abandon any changes in the tree; note that any nodes held should be reacquired after an abort

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: prb-abort ((*rb-transaction* red-black-tree-transaction))
Generic Function: prb-close-storage (storage)

Release storage from use; further load & save operations cannot succeed without a subsequent open call

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: prb-close-storage ((tree text-file-red-black-tree))
Source

text.lisp.

Method: prb-close-storage ((tree memory-persistent-red-black-tree))
Source

array.lisp.

Generic Function: prb-commit (transaction-or-tree)

Orchestrate the persisting of all changes to a tree, including all changed nodes

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: prb-commit ((*rb-transaction* red-black-tree-transaction))
Generic Function: prb-fetch-data (tree location)

Return data from the indicated location

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: prb-fetch-data ((tree text-file-red-black-tree) location)
Source

text.lisp.

Method: prb-fetch-data ((tree memory-persistent-red-black-tree) location)
Source

array.lisp.

Generic Function: prb-fetch-node (tree location)

Return the state of a node as multiple values:
– location of left child, or location for nil sentinel – location of right child, or location for nil sentinel – color value
– key value
– location of data

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: prb-fetch-node ((tree text-file-red-black-tree) location)
Source

text.lisp.

Method: prb-fetch-node ((tree memory-persistent-red-black-tree) location)
Source

array.lisp.

Generic Function: prb-leaf-location-p (tree location)

Return true if the location points to the nil or leaf sentinel

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: prb-leaf-location-p ((tree text-file-red-black-tree) location)
Source

text.lisp.

Method: prb-leaf-location-p ((tree memory-persistent-red-black-tree) location)
Source

array.lisp.

Generic Function: prb-load-data (tree data)

Load data from storage, if not already loaded

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: prb-load-data ((tree persistent-red-black-tree) (data persistent-red-black-data))
Generic Function: prb-load-node (tree node)

Load the node’s state from storage, if not already loaded

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: prb-load-node ((tree persistent-red-black-tree) (node persistent-red-black-node))
Generic Function: prb-location (tree)

Return the current location within storage where new objects would be written

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: prb-location ((tree text-file-red-black-tree))
Source

text.lisp.

Method: prb-location ((tree memory-persistent-red-black-tree))
Source

array.lisp.

Generic Function: prb-open-storage (tree)

Prepare tree for use; after this call load & save operations should succeed, the root should be loaded, and the leaf sentinel identified

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: prb-open-storage ((tree text-file-red-black-tree))

Open storage and move file-position to end of file for appending any new data

Source

text.lisp.

Method: prb-open-storage ((tree memory-persistent-red-black-tree))
Source

array.lisp.

Generic Function: prb-save-object (tree object)

Write the object to memory.

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: prb-save-object ((tree persistent-red-black-tree) (data persistent-red-black-data))
Method: prb-save-object ((tree persistent-red-black-tree) (node persistent-red-black-node))
Generic Function: prb-save-root (tree root)

Save the indicated root to storage; after this call, any subsequent transaction should see this object as the root of the tree

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: prb-save-root ((tree text-file-red-black-tree) root)
Source

text.lisp.

Method: prb-save-root ((tree memory-persistent-red-black-tree) root)
Source

array.lisp.

Generic Function: prb-stash-data (tree contents)

Save the indicated contents of a data object in storage

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: prb-stash-data ((tree text-file-red-black-tree) contents)
Source

text.lisp.

Method: prb-stash-data ((tree memory-persistent-red-black-tree) data)
Source

array.lisp.

Generic Function: prb-stash-node (tree left-location right-location color-value key-value data-location)

Save node state into storage

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: prb-stash-node ((tree text-file-red-black-tree) left-location right-location color-value key-value data-location)
Source

text.lisp.

Method: prb-stash-node ((tree memory-persistent-red-black-tree) left-location right-location color-value key-value data-location)
Source

array.lisp.

Generic Function: rb-data-class (tree)

Return the class to be used for storing data in the tree

Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: rb-data-class ((tree text-file-red-black-tree))
Source

text.lisp.

Method: rb-data-class ((tree persistent-red-black-tree))
Generic Function: rb-delete (tree node)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-delete ((tree red-black-tree) (node red-black-node))
Generic Function: rb-delete-fixup (tree node)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-delete-fixup ((tree red-black-tree) (node red-black-node))
Generic Function: rb-find (tree key)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-find ((tree red-black-tree) key)
Generic Function: rb-first (tree)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-first ((tree red-black-tree))
Generic Function: rb-insert (tree node)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-insert ((tree red-black-tree) (node red-black-node))
Generic Function: rb-insert-fixup (tree node)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-insert-fixup ((tree red-black-tree) (node red-black-node))
Generic Function: rb-last (tree)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-last ((tree red-black-tree))
Generic Function: rb-left-rotate (tree node)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-left-rotate ((tree red-black-tree) (node red-black-node))
Generic Function: rb-make-data (tree &key location contents)
Package

hh-redblack.

Source

persistent.lisp.

Methods
Method: rb-make-data ((tree persistent-red-black-tree) &key location contents)
Generic Function: rb-make-node (tree &key key data)

Return a node suitable for insertion within the tree

Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-make-node :around ((tree persistent-red-black-tree) &key key data)
Source

persistent.lisp.

Method: rb-make-node ((tree red-black-tree) &key key data)
Generic Function: rb-next (tree node)

Return the node with the next higher key in the tree

Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-next ((tree red-black-tree) (node red-black-node))
Generic Function: rb-node-class (tree)

Return the class to be used for creating nodes in the tree

Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-node-class ((tree text-file-red-black-tree))
Source

text.lisp.

Method: rb-node-class ((tree persistent-red-black-tree))
Source

persistent.lisp.

Method: rb-node-class ((tree memory-red-black-tree))
Source

memory.lisp.

Generic Function: rb-previous (tree node)

Return the node with the next lower (aka previous) key in the tree

Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-previous ((tree red-black-tree) (node red-black-node))
Generic Function: rb-right-rotate (tree node)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-right-rotate ((tree red-black-tree) (node red-black-node))
Generic Function: rb-transplant (tree u v)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-transplant ((tree red-black-tree) (u red-black-node) (v red-black-node))
Generic Function: rb-tree-maximum (tree node)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-tree-maximum ((tree red-black-tree) (node red-black-node))
Generic Function: rb-tree-minimum (tree node)
Package

hh-redblack.

Source

base.lisp.

Methods
Method: rb-tree-minimum ((tree red-black-tree) (node red-black-node))
Generic Function: refresh-node (tree node)

Refresh a node’s state from storage, if necessary

Package

hh-redblack.

Source

persistent.lisp.

Generic Function: right (node)
Package

hh-redblack.

Source

base.lisp.

Methods
Reader Method: right ((storage-node storage-node))

automatically generated reader method

Source

text.lisp.

Target Slot

right.

Reader Method: right :around ((node persistent-red-black-node))
Source

persistent.lisp.

Target Slot

right.

Method: right ((persistent-red-black-node persistent-red-black-node))

automatically generated reader method

Source

persistent.lisp.

Reader Method: right ((memory-red-black-node memory-red-black-node))

automatically generated reader method

Source

memory.lisp.

Target Slot

right.

Generic Function: (setf right) (node)
Package

hh-redblack.

Source

base.lisp.

Methods
Writer Method: (setf right) ((storage-node storage-node))

automatically generated writer method

Source

text.lisp.

Target Slot

right.

Writer Method: (setf right) :around ((node persistent-red-black-node))
Source

persistent.lisp.

Target Slot

right.

Method: (setf right) ((persistent-red-black-node persistent-red-black-node))

automatically generated writer method

Source

persistent.lisp.

Writer Method: (setf right) ((memory-red-black-node memory-red-black-node))

automatically generated writer method

Source

memory.lisp.

Target Slot

right.

Generic Function: root (tree)
Package

hh-redblack.

Source

base.lisp.

Methods
Reader Method: root ((storage-footer storage-footer))

automatically generated reader method

Source

text.lisp.

Target Slot

root.

Reader Method: root :around ((tree persistent-red-black-tree))
Source

persistent.lisp.

Target Slot

root.

Method: root ((persistent-red-black-tree persistent-red-black-tree))

automatically generated reader method

Source

persistent.lisp.

Reader Method: root ((memory-red-black-tree memory-red-black-tree))

automatically generated reader method

Source

memory.lisp.

Target Slot

root.

Generic Writer: (setf root) (tree)
Package

hh-redblack.

Source

base.lisp.

Methods
Writer Method: (setf root) ((storage-footer storage-footer))

automatically generated writer method

Source

text.lisp.

Target Slot

root.

Writer Method: (setf root) ((tree persistent-red-black-tree))
Source

persistent.lisp.

Target Slot

root.

Writer Method: (setf root) ((memory-red-black-tree memory-red-black-tree))

automatically generated writer method

Source

memory.lisp.

Target Slot

root.

Generic Reader: state (object)
Package

hh-redblack.

Methods
Reader Method: state ((persistent-red-black-object persistent-red-black-object))

automatically generated reader method

Source

persistent.lisp.

Target Slot

state.

Generic Writer: (setf state) (object)
Package

hh-redblack.

Methods
Writer Method: (setf state) ((persistent-red-black-object persistent-red-black-object))

automatically generated writer method

Source

persistent.lisp.

Target Slot

state.

Generic Reader: storage-stream (object)
Package

hh-redblack.

Methods
Reader Method: storage-stream ((text-file-red-black-tree text-file-red-black-tree))

automatically generated reader method

Source

text.lisp.

Target Slot

stream.

Generic Writer: (setf storage-stream) (object)
Package

hh-redblack.

Methods
Writer Method: (setf storage-stream) ((text-file-red-black-tree text-file-red-black-tree))

automatically generated writer method

Source

text.lisp.

Target Slot

stream.

Generic Reader: tree (object)
Package

hh-redblack.

Methods
Reader Method: tree ((red-black-tree-transaction red-black-tree-transaction))

automatically generated reader method

Source

persistent.lisp.

Target Slot

tree.

Generic Writer: (setf tree) (object)
Package

hh-redblack.

Methods
Writer Method: (setf tree) ((red-black-tree-transaction red-black-tree-transaction))

automatically generated writer method

Source

persistent.lisp.

Target Slot

tree.

Generic Reader: version (object)
Package

hh-redblack.

Methods
Reader Method: version ((storage-header storage-header))

automatically generated reader method

Source

text.lisp.

Target Slot

version.

Generic Writer: (setf version) (object)
Package

hh-redblack.

Methods
Writer Method: (setf version) ((storage-header storage-header))

automatically generated writer method

Source

text.lisp.

Target Slot

version.


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

5.2.5 Conditions

Condition: inconsistent-storage
Package

hh-redblack.

Source

text.lisp.

Direct superclasses

transaction-aborted.

Condition: transaction-aborted
Package

hh-redblack.

Source

persistent.lisp.

Direct superclasses

condition.

Direct subclasses

inconsistent-storage.


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

5.2.6 Classes

Class: memory-persistent-red-black-tree
Package

hh-redblack.

Source

array.lisp.

Direct superclasses

persistent-red-black-tree.

Direct methods
Direct slots
Slot: objects
Initform

(make-array 0 :adjustable t :fill-pointer t)

Readers

objects.

Writers

(setf objects).

Class: memory-red-black-node
Package

hh-redblack.

Source

memory.lisp.

Direct superclasses

red-black-node.

Direct methods
Direct slots
Slot: parent
Readers

parent.

Writers

(setf parent).

Slot: left
Readers

left.

Writers

(setf left).

Slot: right
Readers

right.

Writers

(setf right).

Slot: color
Readers

color.

Writers

(setf color).

Slot: key
Initargs

:key

Readers

key.

Writers

(setf key).

Slot: data
Initargs

:data

Readers

data.

Writers

(setf data).

Class: memory-red-black-tree
Package

hh-redblack.

Source

memory.lisp.

Direct superclasses

red-black-tree.

Direct methods
Direct slots
Slot: root
Readers

root.

Writers

(setf root).

Slot: leaf
Readers

leaf.

Writers

(setf leaf).

Slot: deduplicate
Initform

t

Initargs

:deduplicate

Readers

deduplicate.

Writers

(setf deduplicate).

Class: persistent-red-black-data
Package

hh-redblack.

Source

persistent.lisp.

Direct superclasses

persistent-red-black-object.

Direct subclasses

text-file-red-black-data.

Direct methods
Direct slots
Slot: contents
Initargs

:contents

Readers

contents.

Writers

(setf contents).

Class: persistent-red-black-node
Package

hh-redblack.

Source

persistent.lisp.

Direct superclasses
Direct subclasses

text-file-red-black-node.

Direct methods
Direct slots
Slot: left
Readers

left.

Writers

(setf left).

Slot: right
Readers

right.

Writers

(setf right).

Slot: color
Readers

color.

Writers

(setf color).

Slot: key
Initargs

:key

Readers

key.

Writers

(setf key).

Slot: data
Initargs

:data

Readers

data.

Writers

(setf data).

Class: persistent-red-black-object
Package

hh-redblack.

Source

persistent.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: state
Type

hh-redblack::node-state

Initform

:new

Initargs

:state

Readers

state.

Writers

(setf state).

Slot: location
Initform

0

Initargs

:location

Readers

location.

Writers

(setf location).

Class: persistent-red-black-tree
Package

hh-redblack.

Source

persistent.lisp.

Direct superclasses

red-black-tree.

Direct subclasses
Direct methods
Direct slots
Slot: root
Readers

root.

Writers

(setf root).

Slot: leaf
Readers

leaf.

Writers

(setf leaf).

Slot: deduplicate
Initform

t

Initargs

:deduplicate

Readers

deduplicate.

Writers

(setf deduplicate).

Class: red-black-node
Package

hh-redblack.

Source

base.lisp.

Direct subclasses
Direct methods
Class: red-black-tree
Package

hh-redblack.

Source

base.lisp.

Direct subclasses
Direct methods
Class: red-black-tree-transaction
Package

hh-redblack.

Source

persistent.lisp.

Direct methods
Direct slots
Slot: tree
Initargs

:tree

Readers

tree.

Writers

(setf tree).

Slot: new-root
Readers

new-root.

Writers

(setf new-root).

Slot: parents

For mapping objects to their parent objects

Initform

(make-hash-table)

Readers

parents.

Writers

(setf parents).

Slot: changes
Initform

(make-array 0 :adjustable t :fill-pointer t)

Readers

changes.

Writers

(setf changes).

Class: storage-data
Package

hh-redblack.

Source

text.lisp.

Direct methods
Direct slots
Slot: content
Initargs

:content

Readers

content.

Writers

(setf content).

Class: storage-footer
Package

hh-redblack.

Source

text.lisp.

Direct methods
Direct slots
Slot: leaf
Initform

(make-instance (quote hh-redblack::storage-location))

Initargs

:leaf

Readers

leaf.

Writers

(setf leaf).

Slot: root
Initform

(make-instance (quote hh-redblack::storage-location))

Initargs

:root

Readers

root.

Writers

(setf root).

Slot: next-form-number
Initform

0

Initargs

:next

Readers

next-form-number.

Writers

(setf next-form-number).

Class: storage-form
Package

hh-redblack.

Source

text.lisp.

Direct methods
Direct slots
Slot: form-number
Initargs

:number

Readers

form-number.

Writers

(setf form-number).

Slot: contents
Initargs

:contents

Readers

contents.

Writers

(setf contents).

Class: storage-header
Package

hh-redblack.

Source

text.lisp.

Direct methods
Direct slots
Slot: version
Initform

0

Initargs

:version

Readers

version.

Writers

(setf version).

Class: storage-location
Package

hh-redblack.

Source

text.lisp.

Direct methods
Direct slots
Slot: form-number
Initform

0

Initargs

:form

Readers

form-number.

Writers

(setf form-number).

Slot: offset
Initform

0

Initargs

:offset

Readers

offset.

Writers

(setf offset).

Class: storage-node
Package

hh-redblack.

Source

text.lisp.

Direct methods
Direct slots
Slot: left
Initargs

:left

Readers

left.

Writers

(setf left).

Slot: right
Initargs

:right

Readers

right.

Writers

(setf right).

Slot: color
Initargs

:color

Readers

color.

Writers

(setf color).

Slot: key
Initargs

:key

Readers

key.

Writers

(setf key).

Slot: data
Initargs

:data

Readers

data.

Writers

(setf data).

Class: text-file-red-black-data
Package

hh-redblack.

Source

text.lisp.

Direct superclasses
Class: text-file-red-black-node
Package

hh-redblack.

Source

text.lisp.

Direct superclasses
Class: text-file-red-black-object
Package

hh-redblack.

Source

text.lisp.

Direct superclasses

persistent-red-black-object.

Direct subclasses
Direct methods
Direct slots
Slot: location
Initform

(make-instance (quote hh-redblack::storage-location))

Initargs

:location

Readers

location.

Writers

(setf location).

Class: text-file-red-black-tree
Package

hh-redblack.

Source

text.lisp.

Direct superclasses

persistent-red-black-tree.

Direct methods
Direct slots
Slot: file-name
Initargs

:file-name

Readers

file-name.

Writers

(setf file-name).

Slot: stream
Package

common-lisp.

Readers

storage-stream.

Writers

(setf storage-stream).

Slot: next-form-number
Initform

0

Readers

next-form-number.

Writers

(setf next-form-number).


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

5.2.7 Types

Type: node-state ()
Package

hh-redblack.

Source

persistent.lisp.

Type: object-loaded ()
Package

hh-redblack.

Source

persistent.lisp.

Type: object-unloaded ()
Package

hh-redblack.

Source

persistent.lisp.


Appendix A Indexes


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

A.1 Concepts


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

A.2 Functions

Jump to:   (  
A   C   D   E   F   G   H   I   K   L   M   N   O   P   R   S   T   V   W  
Index Entry  Section

(
(setf changes): Private generic functions
(setf changes): Private generic functions
(setf color): Private generic functions
(setf color): Private generic functions
(setf color): Private generic functions
(setf color): Private generic functions
(setf color): Private generic functions
(setf content): Private generic functions
(setf content): Private generic functions
(setf contents): Private generic functions
(setf contents): Private generic functions
(setf contents): Private generic functions
(setf data): Private generic functions
(setf data): Private generic functions
(setf data): Private generic functions
(setf data): Private generic functions
(setf data): Private generic functions
(setf deduplicate): Private generic functions
(setf deduplicate): Private generic functions
(setf deduplicate): Private generic functions
(setf file-name): Private generic functions
(setf file-name): Private generic functions
(setf form-number): Private generic functions
(setf form-number): Private generic functions
(setf form-number): Private generic functions
(setf key): Private generic functions
(setf key): Private generic functions
(setf key): Private generic functions
(setf key): Private generic functions
(setf key): Private generic functions
(setf leaf): Private generic functions
(setf leaf): Private generic functions
(setf leaf): Private generic functions
(setf leaf): Private generic functions
(setf leaf): Private generic functions
(setf left): Private generic functions
(setf left): Private generic functions
(setf left): Private generic functions
(setf left): Private generic functions
(setf left): Private generic functions
(setf location): Private generic functions
(setf location): Private generic functions
(setf location): Private generic functions
(setf new-root): Private generic functions
(setf new-root): Private generic functions
(setf next-form-number): Private generic functions
(setf next-form-number): Private generic functions
(setf next-form-number): Private generic functions
(setf objects): Private generic functions
(setf objects): Private generic functions
(setf offset): Private generic functions
(setf offset): Private generic functions
(setf parent): Private generic functions
(setf parent): Private generic functions
(setf parent): Private generic functions
(setf parents): Private generic functions
(setf parents): Private generic functions
(setf right): Private generic functions
(setf right): Private generic functions
(setf right): Private generic functions
(setf right): Private generic functions
(setf right): Private generic functions
(setf root): Private generic functions
(setf root): Private generic functions
(setf root): Private generic functions
(setf root): Private generic functions
(setf state): Private generic functions
(setf state): Private generic functions
(setf storage-stream): Private generic functions
(setf storage-stream): Private generic functions
(setf tree): Private generic functions
(setf tree): Private generic functions
(setf version): Private generic functions
(setf version): Private generic functions

A
add-changed-object: Private generic functions
add-changed-object: Private generic functions
add-child-object: Private generic functions
add-child-object: Private generic functions
add-child-object: Private generic functions
add-new-object: Private generic functions
add-new-object: Private generic functions
allocation-size: Private generic functions
allocation-size: Private generic functions
allocation-size: Private generic functions
allocation-size: Private generic functions
ancestor-p: Private generic functions
ancestor-p: Private generic functions

C
changedp: Private generic functions
changedp: Private generic functions
changes: Private generic functions
changes: Private generic functions
clear-changes: Private ordinary functions
close-storage-stream: Private ordinary functions
color: Private generic functions
color: Private generic functions
color: Private generic functions
color: Private generic functions
color: Private generic functions
compare-save-order: Private generic functions
compare-save-order: Private generic functions
compare-save-order: Private generic functions
compare-save-order: Private generic functions
compare-save-order: Private generic functions
content: Private generic functions
content: Private generic functions
contents: Private generic functions
contents: Private generic functions
contents: Private generic functions
contents: Private generic functions

D
data: Private generic functions
data: Private generic functions
data: Private generic functions
data: Private generic functions
data: Private generic functions
deduplicate: Private generic functions
deduplicate: Private generic functions
deduplicate: Private generic functions

E
equality: Private generic functions
equality: Private generic functions
equality: Private generic functions
equality: Private generic functions

F
file-name: Private generic functions
file-name: Private generic functions
footer: Private macros
form: Private macros
form-number: Private generic functions
form-number: Private generic functions
form-number: Private generic functions
Function, clear-changes: Private ordinary functions
Function, close-storage-stream: Private ordinary functions
Function, make-memory-persistent-red-black-tree: Public ordinary functions
Function, make-red-black-tree: Public ordinary functions
Function, make-storage-footer: Private ordinary functions
Function, make-storage-header: Private ordinary functions
Function, make-text-file-red-black-tree: Public ordinary functions
Function, open-storage-stream: Private ordinary functions
Function, read-stored-object: Private ordinary functions
Function, require-rb-transaction: Private ordinary functions
Function, sort-into-save-order: Private ordinary functions
Function, write-stored-object: Private ordinary functions

G
Generic Function, (setf changes): Private generic functions
Generic Function, (setf color): Private generic functions
Generic Function, (setf content): Private generic functions
Generic Function, (setf contents): Private generic functions
Generic Function, (setf data): Private generic functions
Generic Function, (setf deduplicate): Private generic functions
Generic Function, (setf file-name): Private generic functions
Generic Function, (setf form-number): Private generic functions
Generic Function, (setf key): Private generic functions
Generic Function, (setf leaf): Private generic functions
Generic Function, (setf left): Private generic functions
Generic Function, (setf location): Private generic functions
Generic Function, (setf new-root): Private generic functions
Generic Function, (setf next-form-number): Private generic functions
Generic Function, (setf objects): Private generic functions
Generic Function, (setf offset): Private generic functions
Generic Function, (setf parent): Private generic functions
Generic Function, (setf parents): Private generic functions
Generic Function, (setf right): Private generic functions
Generic Function, (setf root): Private generic functions
Generic Function, (setf state): Private generic functions
Generic Function, (setf storage-stream): Private generic functions
Generic Function, (setf tree): Private generic functions
Generic Function, (setf version): Private generic functions
Generic Function, add-changed-object: Private generic functions
Generic Function, add-child-object: Private generic functions
Generic Function, add-new-object: Private generic functions
Generic Function, allocation-size: Private generic functions
Generic Function, ancestor-p: Private generic functions
Generic Function, changedp: Private generic functions
Generic Function, changes: Private generic functions
Generic Function, color: Private generic functions
Generic Function, compare-save-order: Private generic functions
Generic Function, content: Private generic functions
Generic Function, contents: Private generic functions
Generic Function, data: Private generic functions
Generic Function, deduplicate: Private generic functions
Generic Function, equality: Private generic functions
Generic Function, file-name: Private generic functions
Generic Function, form-number: Private generic functions
Generic Function, key: Private generic functions
Generic Function, leaf: Private generic functions
Generic Function, leafp: Private generic functions
Generic Function, left: Private generic functions
Generic Function, loaded-p: Private generic functions
Generic Function, location: Private generic functions
Generic Function, new-root: Private generic functions
Generic Function, next-form-number: Private generic functions
Generic Function, objects: Private generic functions
Generic Function, offset: Private generic functions
Generic Function, parent: Private generic functions
Generic Function, parents: Private generic functions
Generic Function, prb-abort: Private generic functions
Generic Function, prb-close-storage: Private generic functions
Generic Function, prb-commit: Private generic functions
Generic Function, prb-fetch-data: Private generic functions
Generic Function, prb-fetch-node: Private generic functions
Generic Function, prb-leaf-location-p: Private generic functions
Generic Function, prb-load-data: Private generic functions
Generic Function, prb-load-node: Private generic functions
Generic Function, prb-location: Private generic functions
Generic Function, prb-open-storage: Private generic functions
Generic Function, prb-save-object: Private generic functions
Generic Function, prb-save-root: Private generic functions
Generic Function, prb-stash-data: Private generic functions
Generic Function, prb-stash-node: Private generic functions
Generic Function, rb-data-class: Private generic functions
Generic Function, rb-delete: Private generic functions
Generic Function, rb-delete-fixup: Private generic functions
Generic Function, rb-find: Private generic functions
Generic Function, rb-first: Private generic functions
Generic Function, rb-get: Public generic functions
Generic Function, rb-insert: Private generic functions
Generic Function, rb-insert-fixup: Private generic functions
Generic Function, rb-keys: Public generic functions
Generic Function, rb-last: Private generic functions
Generic Function, rb-left-rotate: Private generic functions
Generic Function, rb-make-data: Private generic functions
Generic Function, rb-make-node: Private generic functions
Generic Function, rb-next: Private generic functions
Generic Function, rb-node-class: Private generic functions
Generic Function, rb-previous: Private generic functions
Generic Function, rb-put: Public generic functions
Generic Function, rb-remove: Public generic functions
Generic Function, rb-right-rotate: Private generic functions
Generic Function, rb-size: Public generic functions
Generic Function, rb-transplant: Private generic functions
Generic Function, rb-tree-maximum: Private generic functions
Generic Function, rb-tree-minimum: Private generic functions
Generic Function, rb<: Public generic functions
Generic Function, rb=: Public generic functions
Generic Function, refresh-node: Private generic functions
Generic Function, right: Private generic functions
Generic Function, root: Private generic functions
Generic Function, state: Private generic functions
Generic Function, storage-stream: Private generic functions
Generic Function, tree: Private generic functions
Generic Function, version: Private generic functions

H
header: Private macros

I
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods

K
key: Private generic functions
key: Private generic functions
key: Private generic functions
key: Private generic functions
key: Private generic functions

L
leaf: Private generic functions
leaf: Private generic functions
leaf: Private generic functions
leaf: Private generic functions
leafp: Private generic functions
leafp: Private generic functions
left: Private generic functions
left: Private generic functions
left: Private generic functions
left: Private generic functions
left: Private generic functions
loaded-p: Private generic functions
loaded-p: Private generic functions
loc: Private macros
location: Private generic functions
location: Private generic functions
location: Private generic functions

M
Macro, footer: Private macros
Macro, form: Private macros
Macro, header: Private macros
Macro, loc: Private macros
Macro, node: Private macros
Macro, node-data: Private macros
Macro, with-rb-keys-and-data: Public macros
Macro, with-rb-transaction: Public macros
make-memory-persistent-red-black-tree: Public ordinary functions
make-red-black-tree: Public ordinary functions
make-storage-footer: Private ordinary functions
make-storage-header: Private ordinary functions
make-text-file-red-black-tree: Public ordinary functions
Method, (setf changes): Private generic functions
Method, (setf color): Private generic functions
Method, (setf color): Private generic functions
Method, (setf color): Private generic functions
Method, (setf color): Private generic functions
Method, (setf content): Private generic functions
Method, (setf contents): Private generic functions
Method, (setf contents): Private generic functions
Method, (setf data): Private generic functions
Method, (setf data): Private generic functions
Method, (setf data): Private generic functions
Method, (setf data): Private generic functions
Method, (setf deduplicate): Private generic functions
Method, (setf deduplicate): Private generic functions
Method, (setf file-name): Private generic functions
Method, (setf form-number): Private generic functions
Method, (setf form-number): Private generic functions
Method, (setf key): Private generic functions
Method, (setf key): Private generic functions
Method, (setf key): Private generic functions
Method, (setf key): Private generic functions
Method, (setf leaf): Private generic functions
Method, (setf leaf): Private generic functions
Method, (setf leaf): Private generic functions
Method, (setf leaf): Private generic functions
Method, (setf left): Private generic functions
Method, (setf left): Private generic functions
Method, (setf left): Private generic functions
Method, (setf left): Private generic functions
Method, (setf location): Private generic functions
Method, (setf location): Private generic functions
Method, (setf new-root): Private generic functions
Method, (setf next-form-number): Private generic functions
Method, (setf next-form-number): Private generic functions
Method, (setf objects): Private generic functions
Method, (setf offset): Private generic functions
Method, (setf parent): Private generic functions
Method, (setf parent): Private generic functions
Method, (setf parents): Private generic functions
Method, (setf right): Private generic functions
Method, (setf right): Private generic functions
Method, (setf right): Private generic functions
Method, (setf right): Private generic functions
Method, (setf root): Private generic functions
Method, (setf root): Private generic functions
Method, (setf root): Private generic functions
Method, (setf state): Private generic functions
Method, (setf storage-stream): Private generic functions
Method, (setf tree): Private generic functions
Method, (setf version): Private generic functions
Method, add-changed-object: Private generic functions
Method, add-child-object: Private generic functions
Method, add-child-object: Private generic functions
Method, add-new-object: Private generic functions
Method, allocation-size: Private generic functions
Method, allocation-size: Private generic functions
Method, allocation-size: Private generic functions
Method, ancestor-p: Private generic functions
Method, changedp: Private generic functions
Method, changes: Private generic functions
Method, color: Private generic functions
Method, color: Private generic functions
Method, color: Private generic functions
Method, color: Private generic functions
Method, compare-save-order: Private generic functions
Method, compare-save-order: Private generic functions
Method, compare-save-order: Private generic functions
Method, compare-save-order: Private generic functions
Method, content: Private generic functions
Method, contents: Private generic functions
Method, contents: Private generic functions
Method, contents: Private generic functions
Method, data: Private generic functions
Method, data: Private generic functions
Method, data: Private generic functions
Method, data: Private generic functions
Method, deduplicate: Private generic functions
Method, deduplicate: Private generic functions
Method, equality: Private generic functions
Method, equality: Private generic functions
Method, equality: Private generic functions
Method, file-name: Private generic functions
Method, form-number: Private generic functions
Method, form-number: Private generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, key: Private generic functions
Method, key: Private generic functions
Method, key: Private generic functions
Method, key: Private generic functions
Method, leaf: Private generic functions
Method, leaf: Private generic functions
Method, leaf: Private generic functions
Method, leafp: Private generic functions
Method, left: Private generic functions
Method, left: Private generic functions
Method, left: Private generic functions
Method, left: Private generic functions
Method, loaded-p: Private generic functions
Method, location: Private generic functions
Method, location: Private generic functions
Method, new-root: Private generic functions
Method, next-form-number: Private generic functions
Method, next-form-number: Private generic functions
Method, objects: Private generic functions
Method, offset: Private generic functions
Method, parent: Private generic functions
Method, parent: Private generic functions
Method, parents: Private generic functions
Method, prb-abort: Private generic functions
Method, prb-close-storage: Private generic functions
Method, prb-close-storage: Private generic functions
Method, prb-commit: Private generic functions
Method, prb-fetch-data: Private generic functions
Method, prb-fetch-data: Private generic functions
Method, prb-fetch-node: Private generic functions
Method, prb-fetch-node: Private generic functions
Method, prb-leaf-location-p: Private generic functions
Method, prb-leaf-location-p: Private generic functions
Method, prb-load-data: Private generic functions
Method, prb-load-node: Private generic functions
Method, prb-location: Private generic functions
Method, prb-location: Private generic functions
Method, prb-open-storage: Private generic functions
Method, prb-open-storage: Private generic functions
Method, prb-save-object: Private generic functions
Method, prb-save-object: Private generic functions
Method, prb-save-root: Private generic functions
Method, prb-save-root: Private generic functions
Method, prb-stash-data: Private generic functions
Method, prb-stash-data: Private generic functions
Method, prb-stash-node: Private generic functions
Method, prb-stash-node: Private generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, rb-data-class: Private generic functions
Method, rb-data-class: Private generic functions
Method, rb-delete: Private generic functions
Method, rb-delete-fixup: Private generic functions
Method, rb-find: Private generic functions
Method, rb-first: Private generic functions
Method, rb-get: Public generic functions
Method, rb-insert: Private generic functions
Method, rb-insert-fixup: Private generic functions
Method, rb-keys: Public generic functions
Method, rb-last: Private generic functions
Method, rb-left-rotate: Private generic functions
Method, rb-make-data: Private generic functions
Method, rb-make-node: Private generic functions
Method, rb-make-node: Private generic functions
Method, rb-next: Private generic functions
Method, rb-node-class: Private generic functions
Method, rb-node-class: Private generic functions
Method, rb-node-class: Private generic functions
Method, rb-previous: Private generic functions
Method, rb-put: Public generic functions
Method, rb-remove: Public generic functions
Method, rb-right-rotate: Private generic functions
Method, rb-size: Public generic functions
Method, rb-transplant: Private generic functions
Method, rb-tree-maximum: Private generic functions
Method, rb-tree-minimum: Private generic functions
Method, rb<: Public generic functions
Method, rb<: Public generic functions
Method, rb=: Public generic functions
Method, rb=: Public generic functions
Method, right: Private generic functions
Method, right: Private generic functions
Method, right: Private generic functions
Method, right: Private generic functions
Method, root: Private generic functions
Method, root: Private generic functions
Method, root: Private generic functions
Method, root: Private generic functions
Method, state: Private generic functions
Method, storage-stream: Private generic functions
Method, tree: Private generic functions
Method, version: Private generic functions

N
new-root: Private generic functions
new-root: Private generic functions
next-form-number: Private generic functions
next-form-number: Private generic functions
next-form-number: Private generic functions
node: Private macros
node-data: Private macros

O
objects: Private generic functions
objects: Private generic functions
offset: Private generic functions
offset: Private generic functions
open-storage-stream: Private ordinary functions

P
parent: Private generic functions
parent: Private generic functions
parent: Private generic functions
parents: Private generic functions
parents: Private generic functions
prb-abort: Private generic functions
prb-abort: Private generic functions
prb-close-storage: Private generic functions
prb-close-storage: Private generic functions
prb-close-storage: Private generic functions
prb-commit: Private generic functions
prb-commit: Private generic functions
prb-fetch-data: Private generic functions
prb-fetch-data: Private generic functions
prb-fetch-data: Private generic functions
prb-fetch-node: Private generic functions
prb-fetch-node: Private generic functions
prb-fetch-node: Private generic functions
prb-leaf-location-p: Private generic functions
prb-leaf-location-p: Private generic functions
prb-leaf-location-p: Private generic functions
prb-load-data: Private generic functions
prb-load-data: Private generic functions
prb-load-node: Private generic functions
prb-load-node: Private generic functions
prb-location: Private generic functions
prb-location: Private generic functions
prb-location: Private generic functions
prb-open-storage: Private generic functions
prb-open-storage: Private generic functions
prb-open-storage: Private generic functions
prb-save-object: Private generic functions
prb-save-object: Private generic functions
prb-save-object: Private generic functions
prb-save-root: Private generic functions
prb-save-root: Private generic functions
prb-save-root: Private generic functions
prb-stash-data: Private generic functions
prb-stash-data: Private generic functions
prb-stash-data: Private generic functions
prb-stash-node: Private generic functions
prb-stash-node: Private generic functions
prb-stash-node: Private generic functions
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods

R
rb-data-class: Private generic functions
rb-data-class: Private generic functions
rb-data-class: Private generic functions
rb-delete: Private generic functions
rb-delete: Private generic functions
rb-delete-fixup: Private generic functions
rb-delete-fixup: Private generic functions
rb-find: Private generic functions
rb-find: Private generic functions
rb-first: Private generic functions
rb-first: Private generic functions
rb-get: Public generic functions
rb-get: Public generic functions
rb-insert: Private generic functions
rb-insert: Private generic functions
rb-insert-fixup: Private generic functions
rb-insert-fixup: Private generic functions
rb-keys: Public generic functions
rb-keys: Public generic functions
rb-last: Private generic functions
rb-last: Private generic functions
rb-left-rotate: Private generic functions
rb-left-rotate: Private generic functions
rb-make-data: Private generic functions
rb-make-data: Private generic functions
rb-make-node: Private generic functions
rb-make-node: Private generic functions
rb-make-node: Private generic functions
rb-next: Private generic functions
rb-next: Private generic functions
rb-node-class: Private generic functions
rb-node-class: Private generic functions
rb-node-class: Private generic functions
rb-node-class: Private generic functions
rb-previous: Private generic functions
rb-previous: Private generic functions
rb-put: Public generic functions
rb-put: Public generic functions
rb-remove: Public generic functions
rb-remove: Public generic functions
rb-right-rotate: Private generic functions
rb-right-rotate: Private generic functions
rb-size: Public generic functions
rb-size: Public generic functions
rb-transplant: Private generic functions
rb-transplant: Private generic functions
rb-tree-maximum: Private generic functions
rb-tree-maximum: Private generic functions
rb-tree-minimum: Private generic functions
rb-tree-minimum: Private generic functions
rb<: Public generic functions
rb<: Public generic functions
rb<: Public generic functions
rb=: Public generic functions
rb=: Public generic functions
rb=: Public generic functions
read-stored-object: Private ordinary functions
refresh-node: Private generic functions
require-rb-transaction: Private ordinary functions
right: Private generic functions
right: Private generic functions
right: Private generic functions
right: Private generic functions
right: Private generic functions
root: Private generic functions
root: Private generic functions
root: Private generic functions
root: Private generic functions
root: Private generic functions

S
sort-into-save-order: Private ordinary functions
state: Private generic functions
state: Private generic functions
storage-stream: Private generic functions
storage-stream: Private generic functions

T
tree: Private generic functions
tree: Private generic functions

V
version: Private generic functions
version: Private generic functions

W
with-rb-keys-and-data: Public macros
with-rb-transaction: Public macros
write-stored-object: Private ordinary functions

Jump to:   (  
A   C   D   E   F   G   H   I   K   L   M   N   O   P   R   S   T   V   W  

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

A.3 Variables

Jump to:   *  
C   D   F   K   L   N   O   P   R   S   T   V  
Index Entry  Section

*
*rb-transaction*: Private special variables

C
changes: Private classes
color: Private classes
color: Private classes
color: Private classes
content: Private classes
contents: Private classes
contents: Private classes

D
data: Private classes
data: Private classes
data: Private classes
deduplicate: Private classes
deduplicate: Private classes

F
file-name: Private classes
form-number: Private classes
form-number: Private classes

K
key: Private classes
key: Private classes
key: Private classes

L
leaf: Private classes
leaf: Private classes
leaf: Private classes
left: Private classes
left: Private classes
left: Private classes
location: Private classes
location: Private classes

N
new-root: Private classes
next-form-number: Private classes
next-form-number: Private classes

O
objects: Private classes
offset: Private classes

P
parent: Private classes
parents: Private classes

R
right: Private classes
right: Private classes
right: Private classes
root: Private classes
root: Private classes
root: Private classes

S
Slot, changes: Private classes
Slot, color: Private classes
Slot, color: Private classes
Slot, color: Private classes
Slot, content: Private classes
Slot, contents: Private classes
Slot, contents: Private classes
Slot, data: Private classes
Slot, data: Private classes
Slot, data: Private classes
Slot, deduplicate: Private classes
Slot, deduplicate: Private classes
Slot, file-name: Private classes
Slot, form-number: Private classes
Slot, form-number: Private classes
Slot, key: Private classes
Slot, key: Private classes
Slot, key: Private classes
Slot, leaf: Private classes
Slot, leaf: Private classes
Slot, leaf: Private classes
Slot, left: Private classes
Slot, left: Private classes
Slot, left: Private classes
Slot, location: Private classes
Slot, location: Private classes
Slot, new-root: Private classes
Slot, next-form-number: Private classes
Slot, next-form-number: Private classes
Slot, objects: Private classes
Slot, offset: Private classes
Slot, parent: Private classes
Slot, parents: Private classes
Slot, right: Private classes
Slot, right: Private classes
Slot, right: Private classes
Slot, root: Private classes
Slot, root: Private classes
Slot, root: Private classes
Slot, state: Private classes
Slot, stream: Private classes
Slot, tree: Private classes
Slot, version: Private classes
Special Variable, *rb-transaction*: Private special variables
state: Private classes
stream: Private classes

T
tree: Private classes

V
version: Private classes

Jump to:   *  
C   D   F   K   L   N   O   P   R   S   T   V  

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

A.4 Data types

Jump to:   A   B   C   F   H   I   M   N   O   P   R   S   T  
Index Entry  Section

A
array.lisp: The hh-redblack/array․lisp file

B
base.lisp: The hh-redblack/base․lisp file

C
Class, memory-persistent-red-black-tree: Private classes
Class, memory-red-black-node: Private classes
Class, memory-red-black-tree: Private classes
Class, persistent-red-black-data: Private classes
Class, persistent-red-black-node: Private classes
Class, persistent-red-black-object: Private classes
Class, persistent-red-black-tree: Private classes
Class, red-black-node: Private classes
Class, red-black-tree: Private classes
Class, red-black-tree-transaction: Private classes
Class, storage-data: Private classes
Class, storage-footer: Private classes
Class, storage-form: Private classes
Class, storage-header: Private classes
Class, storage-location: Private classes
Class, storage-node: Private classes
Class, text-file-red-black-data: Private classes
Class, text-file-red-black-node: Private classes
Class, text-file-red-black-object: Private classes
Class, text-file-red-black-tree: Private classes
Condition, inconsistent-storage: Private conditions
Condition, requires-red-black-transaction: Public conditions
Condition, transaction-aborted: Private conditions

F
File, array.lisp: The hh-redblack/array․lisp file
File, base.lisp: The hh-redblack/base․lisp file
File, hh-redblack.asd: The hh-redblack/hh-redblack․asd file
File, memory.lisp: The hh-redblack/memory․lisp file
File, package.lisp: The hh-redblack/package․lisp file
File, persistent.lisp: The hh-redblack/persistent․lisp file
File, text.lisp: The hh-redblack/text․lisp file

H
hh-redblack: The hh-redblack system
hh-redblack: The hh-redblack package
hh-redblack-asd: The hh-redblack-asd package
hh-redblack.asd: The hh-redblack/hh-redblack․asd file

I
inconsistent-storage: Private conditions

M
memory-persistent-red-black-tree: Private classes
memory-red-black-node: Private classes
memory-red-black-tree: Private classes
memory.lisp: The hh-redblack/memory․lisp file

N
node-state: Private types

O
object-loaded: Private types
object-unloaded: Private types

P
Package, hh-redblack: The hh-redblack package
Package, hh-redblack-asd: The hh-redblack-asd package
package.lisp: The hh-redblack/package․lisp file
persistent-red-black-data: Private classes
persistent-red-black-node: Private classes
persistent-red-black-object: Private classes
persistent-red-black-tree: Private classes
persistent.lisp: The hh-redblack/persistent․lisp file

R
red-black-node: Private classes
red-black-tree: Private classes
red-black-tree-transaction: Private classes
requires-red-black-transaction: Public conditions

S
storage-data: Private classes
storage-footer: Private classes
storage-form: Private classes
storage-header: Private classes
storage-location: Private classes
storage-node: Private classes
System, hh-redblack: The hh-redblack system

T
text-file-red-black-data: Private classes
text-file-red-black-node: Private classes
text-file-red-black-object: Private classes
text-file-red-black-tree: Private classes
text.lisp: The hh-redblack/text․lisp file
transaction-aborted: Private conditions
Type, node-state: Private types
Type, object-loaded: Private types
Type, object-unloaded: Private types

Jump to:   A   B   C   F   H   I   M   N   O   P   R   S   T