Liking cljdoc? Tell your friends :D

Clojure only.

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