Finger tree based interval treeset implementation.
Based largely on the original paper
Provides an efficient, persistent representation of a set of items sorted by the interval which they occupy.
Finger tree based interval treeset implementation. Based largely on the original [paper](http://www.cs.ox.ac.uk/ralf.hinze/publications/FingerTrees.pdf) Provides an efficient, persistent representation of a set of items sorted by the interval which they occupy.
(covered-range t)
Return the covered range, i.e. minimum start value and maximum end value, of
the intervals of all the items in interval treeset t
.
Return the covered range, i.e. minimum start value and maximum end value, of the intervals of all the items in interval treeset `t`.
(first-overlapping this ival)
(first-overlapping this ival n-f)
Search this
for the first value which overlaps ival
, returning nil
if none is found in the two arg case, or n-f
in the three arg case.
Search `this` for the first value which overlaps `ival`, returning `nil` if none is found in the two arg case, or `n-f` in the three arg case.
(interval s e)
Create an interval with range s
to e
Create an interval with range `s` to `e`
(interval-treeset & {:as conf})
Create an empty interval tree set. Available options:
:as-interval : Extract an interval value for an item
:compare-point
: Comparator for two points. Defaults to clojure.core/compare
.
:zero-interval
: Zero value for the intervals used in this set. Defaults to
(interval nil Integer/MIN_VALUE)
.
Create an empty interval tree set. Available options: :as-interval : Extract an interval value for an item :compare-point : Comparator for two points. Defaults to `clojure.core/compare`. :zero-interval : Zero value for the intervals used in this set. Defaults to `(interval nil Integer/MIN_VALUE)`.
(it-difference lhs rhs)
Specific difference for an interval treeset with any other set type.
Public so clients who know they have an interval treeset on the lhs
can
avoid the dispatch overhead of difference
.
Specific difference for an interval treeset with any other set type. Public so clients who know they have an interval treeset on the `lhs` can avoid the dispatch overhead of `difference`.
(it-difference* lhs rhs)
Specific difference for two interval treesets. Public so clients who
know that they have two interval treesets can avoid the dispatch overhead
of difference
.
Specific difference for two interval treesets. Public so clients who _know_ that they have two interval treesets can avoid the dispatch overhead of `difference`.
(it-intersection lhs rhs)
Specific intersection for an interval treeset with any other set type.
Public so clients who know they have an interval treeset on the lhs
can
avoid the dispatch overhead of intersection
.
Specific intersection for an interval treeset with any other set type. Public so clients who know they have an interval treeset on the `lhs` can avoid the dispatch overhead of `intersection`.
(it-intersection* lhs rhs)
Specific intersection for two interval treesets. Public so clients who
know that they have two interval treesets can avoid the dispatch overhead
of intersection
.
Specific intersection for two interval treesets. Public so clients who _know_ that they have two interval treesets can avoid the dispatch overhead of `intersection`.
(it-union lhs rhs)
Specific union for an interval treeset with any other set type.
Public so clients who know they have an interval treeset on the lhs
can
avoid the dispatch overhead of union
.
Specific union for an interval treeset with any other set type. Public so clients who know they have an interval treeset on the `lhs` can avoid the dispatch overhead of `union`.
(it-union* lhs rhs)
Specific union for two interval treesets. Public so clients who
know that they have two interval treesets can avoid the dispatch overhead
of union
.
Specific union for two interval treesets. Public so clients who _know_ that they have two interval treesets can avoid the dispatch overhead of `union`.
(partition-around it k)
(select this k)
Return a selection whose selected part contains a single item - k
.
Return a selection whose selected part contains a single item - `k`.
(select-overlapping this ival)
Select the subregion of this set which overlaps ival
, returning a tuple
of the form [prefix selected suffix]
where prefix
, selected
and
suffix
are all interval treesets. The methods in
org.dthume.data.finger-tree.selection
may prove useful in working with the
resulting selection.
Select the subregion of this set which overlaps `ival`, returning a tuple of the form `[prefix selected suffix]` where `prefix`, `selected` and `suffix` are all interval treesets. The methods in `org.dthume.data.finger-tree.selection` may prove useful in working with the resulting selection.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close