This is the cl-interval Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 17:04:27 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
cl-interval
Intervals, 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.asd
cl-interval/package.lisp
cl-interval/interval.lisp
cl-interval/tree.lisp
cl-interval/interval.lisp
package.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.lisp
interval.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.
interval
common-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 |
---|