This is the cl-interval Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 03:59:50 2025 GMT+0.
The main system appears first, followed by any subsystem dependency.
cl-intervalIntervals, interval trees
Ryan Pavlik
NewBSD, LLGPL
package.lisp (file).
interval.lisp (file).
tree.lisp (file).
Files are sorted by type and then listed depth-first from the systems components trees.
cl-interval/cl-interval.asdcl-interval/package.lispcl-interval/interval.lispcl-interval/tree.lispcl-interval/interval.lisppackage.lisp (file).
cl-interval (system).
interval (structure).
interval-end (reader).
(setf interval-end) (writer).
interval-start (reader).
(setf interval-start) (writer).
interval< (function).
interval= (function).
make-interval (function).
print-object (method).
copy-interval (function).
interval-intersects (function).
interval-p (function).
cl-interval/tree.lispinterval.lisp (file).
cl-interval (system).
delete (function).
find (function).
find-all (function).
find-any (function).
insert (function).
make-tree (function).
print-object (method).
tree (structure).
tree-beforep (reader).
tree-dump (function).
tree-equalp (reader).
tree-validate (function).
tree-value-before-p (reader).
%copy-tree (function).
%make-tree (function).
coerce-interval-designator (function).
copy-node (function).
if-node-fun (macro).
make-node (function).
node (structure).
node-decrease-level (function).
node-delete (function).
node-dump (function).
node-find (function).
node-find-all (function).
node-find-any (function).
node-in-range-p (function).
node-insert (function).
node-leaf-p (function).
node-left (reader).
(setf node-left) (writer).
node-left-level-p (function).
node-leftmost-child (function).
node-level (reader).
(setf node-level) (writer).
node-max-end (reader).
(setf node-max-end) (writer).
node-p (function).
node-predecessor (function).
node-right (reader).
(setf node-right) (writer).
node-rightmost-child (function).
node-skew (function).
node-split (function).
node-strictly-greater-p (function).
node-successor (function).
node-two-rights-level-p (function).
node-update-max (function).
node-validate (function).
node-value (reader).
(setf node-value) (writer).
tree-p (function).
tree-root (reader).
(setf tree-root) (writer).
Packages are listed by definition order.
intervalcommon-lisp.
delete (function).
find (function).
find-all (function).
find-any (function).
insert (function).
interval (structure).
interval-end (reader).
(setf interval-end) (writer).
interval-start (reader).
(setf interval-start) (writer).
interval< (function).
interval= (function).
make-interval (function).
make-tree (function).
tree (structure).
tree-beforep (reader).
tree-dump (function).
tree-equalp (reader).
tree-validate (function).
tree-value-before-p (reader).
%copy-tree (function).
%make-tree (function).
coerce-interval-designator (function).
copy-interval (function).
copy-node (function).
if-node-fun (macro).
interval-intersects (function).
interval-p (function).
make-node (function).
node (structure).
node-decrease-level (function).
node-delete (function).
node-dump (function).
node-find (function).
node-find-all (function).
node-find-any (function).
node-in-range-p (function).
node-insert (function).
node-leaf-p (function).
node-left (reader).
(setf node-left) (writer).
node-left-level-p (function).
node-leftmost-child (function).
node-level (reader).
(setf node-level) (writer).
node-max-end (reader).
(setf node-max-end) (writer).
node-p (function).
node-predecessor (function).
node-right (reader).
(setf node-right) (writer).
node-rightmost-child (function).
node-skew (function).
node-split (function).
node-strictly-greater-p (function).
node-successor (function).
node-two-rights-level-p (function).
node-update-max (function).
node-validate (function).
node-value (reader).
(setf node-value) (writer).
tree-p (function).
tree-root (reader).
(setf tree-root) (writer).
Definitions are sorted by export status, category, package, and then by lexicographic order.
=> INTERVAL, deleted-p
Delete an interval that is interval-equal-p to ‘INTERVAL‘ from ‘TREE‘.
‘INTERVAL‘ may be any type of interval, or a cons in the form ‘(START . END)‘.
=> interval-in-tree or NIL
Find a specific interval that is :interval-equal-p to ‘INTERVAL‘ in
‘TREE‘ and return it, or NIL.
‘INTERVAL‘ may be any type of interval, or a cons in the form ‘(START . END)‘.
=> list-of-intervals or NIL
Find all intervals intersecting ‘INTERVAL‘ in ‘TREE‘. ‘INTERVAL‘ does
not have to be matched exactly in ‘TREE‘.
Alternatively, ‘INTERVAL‘ may be either a cons of ‘(START . END)‘, or
a single value, which will be used as both the start and the
end (effectively finding intervals at a point).
=> interval-in-tree or NIL
Find any one interval in ‘TREE‘ intersecting ‘INTERVAL‘.
Alternatively, ‘INTERVAL‘ may be either a cons of ‘(START . END)‘, or
a single value, which will be used as both the start and the
end (effectively finding intervals at a point).
=> interval, inserted-p
Insert ‘INTERVAL‘ into ‘TREE‘, if an equivalent interval (by
interval-equal-p) is not already in ‘TREE‘, returning ‘INTERVAL‘.
Otherwise, return the existing interval.
‘INSERTED-P‘ is ‘T‘ if there was no existing interval, or ‘NIL‘ if
the existing interval was returned.
‘INTERVAL‘ may alternatively be a cons in the form ‘(START . END)‘. In this case, a simple interval is created and inserted.
=> end
Return the ‘END‘ value of the interval.
end.
=> start
Return the ‘START‘ value of the interval.
=> boolean
A simple example (also used in tests) which compares interval starts
numerically by ‘#’<‘.
=> boolean
A simple example (also used in tests) which compares interval equality
numerically by ‘#’=‘.
=> INTERVAL
Returns a simple interval with specified ‘START‘ and ‘END‘.
=> INTERVAL:TREE
Make an interval tree given the specified functions. By default,
these are simple numeric comparisons.
‘INTERVAL-BEFORE-P‘ should take two intervals, ‘A‘ and ‘B‘, and test
whether the *start* of ‘A‘ comes before the *start* of ‘B‘. This is
used solely for tree placement. ‘A‘ and ‘B‘ might be equal, but the
test may be a less-than-not-equal test.
‘INTERVAL-EQUAL-P‘ should take two intervals, ‘A‘ and ‘B‘, and test
whether they are equal (e.g., the starts and ends are the same). This
should *not* be an identity test (i.e., not ‘EQ‘).
‘VALUE-BEFORE-P‘ should take two *values*, ‘A‘ and ‘B‘, which are used as start or end values, and compare whether ‘A‘ comes before ‘B‘. For closed intervals, use a less-than-or-equal function. For open intervals, use a less-than function. Half-open intervals are currently not supported.
=> FUNCTION
Return the function used to compare *intervals*. It should return
whether one interval ‘START‘ comes before another interval ‘START‘.
=> list
Return a tree dumped into a list form. This is currently only useful for
testing.
=> FUNCTION
Return the function used to compare *intervals*. It should return
whether one interval is equal to another. It should not be an identity
comparison (i.e., not ‘EQ‘).
=> T
Tests ‘TREE‘ for AA-tree and interval-tree invariants, to make sure the
tree is valid. It returns ‘T‘, or raises an error if the invariants are
not met.
=> FUNCTION
Return the function used to compare *values* (i.e., start and end).
For closed intervals, use a less-than-or-equal function. For open
intervals, use a less-than function. Half-open intervals are currently
not supported.
structure-object.
(or null interval::node)
function
This slot is read-only.
common-lisp.
function
This slot is read-only.
function
This slot is read-only.
structure-object.
(unsigned-byte 16)
0
(or null interval::node)
(or null interval::node)
interval:interval
| Jump to: | %
(
C D F I M N P T |
|---|
| Jump to: | %
(
C D F I M N P T |
|---|
| Jump to: | B E L M R S V |
|---|
| Jump to: | B E L M R S V |
|---|
| Jump to: | C F I N P S T |
|---|
| Jump to: | C F I N P S T |
|---|