A B-tree based persistent sorted set. Supports transients, custom comparators, fast iteration, efficient slices (iterator over a part of the set) and reverse slices. Almost a drop-in replacement for [[clojure.core/sorted-set]], the only difference being this one can’t store nil.
A B-tree based persistent sorted set. Supports transients, custom comparators, fast iteration, efficient slices (iterator over a part of the set) and reverse slices. Almost a drop-in replacement for [[clojure.core/sorted-set]], the only difference being this one can’t store nil.
(conj set key cmp)
Analogue to [[clojure.core/conj]] but with comparator that overrides the one stored in set.
Analogue to [[clojure.core/conj]] but with comparator that overrides the one stored in set.
Analogue to [[clojure.core/conj]] with comparator that overrides the one stored in set.
Analogue to [[clojure.core/conj]] with comparator that overrides the one stored in set.
(disj set key cmp)
Analogue to [[clojure.core/disj]] with comparator that overrides the one stored in set.
Analogue to [[clojure.core/disj]] with comparator that overrides the one stored in set.
(from-sequential cmp keys)
(from-sequential cmp seq)
Create a set with custom comparator and a collection of keys. Useful when you don’t want to call [[clojure.core/apply]] on sorted-set-by
.
Create a set with custom comparator and a collection of keys. Useful when you don’t want to call [[clojure.core/apply]] on [[sorted-set-by]].
(from-sorted-array cmp keys)
(from-sorted-array cmp keys len)
(from-sorted-array cmp arr)
Fast path to create a set if you already have a sorted array of elements on your hands.
Fast path to create a set if you already have a sorted array of elements on your hands.
(node-conj _ cmp key)
(node-disj _ cmp key root? left right)
(node-len _)
(node-lim-key _)
(node-lookup _ cmp key)
(node-merge _ next)
(node-merge-n-split _ next)
(rslice set from to)
(rslice set from to cmp)
A reverse iterator for part of the set with provided boundaries.
(rslice set from to)
returns backwards iterator for all Xs where from <= X <= to.
(rslice set from nil)
returns backwards iterator for all Xs where X <= from.
Optionally pass in comparator that will override the one that set uses. Supports efficient [[clojure.core/rseq]].
A reverse iterator for part of the set with provided boundaries. `(rslice set from to)` returns backwards iterator for all Xs where from <= X <= to. `(rslice set from nil)` returns backwards iterator for all Xs where X <= from. Optionally pass in comparator that will override the one that set uses. Supports efficient [[clojure.core/rseq]].
(rslice set key)
(rslice set key-from key-to)
(rslice set key-from key-to comparator)
A reverse iterator for part of the set with provided boundaries.
(rslice set from to)
returns backwards iterator for all Xs where from <= X <= to.
Optionally pass in comparator that will override the one that set uses. Supports efficient [[clojure.core/rseq]].
A reverse iterator for part of the set with provided boundaries. `(rslice set from to)` returns backwards iterator for all Xs where from <= X <= to. Optionally pass in comparator that will override the one that set uses. Supports efficient [[clojure.core/rseq]].
(slice set from to)
(slice set from to cmp)
An iterator for part of the set with provided boundaries.
(slice set from to)
returns iterator for all Xs where from <= X <= to.
(slice set from nil)
returns iterator for all Xs where X >= from.
Optionally pass in comparator that will override the one that set uses. Supports efficient [[clojure.core/rseq]].
An iterator for part of the set with provided boundaries. `(slice set from to)` returns iterator for all Xs where from <= X <= to. `(slice set from nil)` returns iterator for all Xs where X >= from. Optionally pass in comparator that will override the one that set uses. Supports efficient [[clojure.core/rseq]].
(slice set key-from key-to)
(slice set key-from key-to comparator)
An iterator for part of the set with provided boundaries.
(slice set from to)
returns iterator for all Xs where from <= X <= to.
Optionally pass in comparator that will override the one that set uses. Supports efficient [[clojure.core/rseq]].
An iterator for part of the set with provided boundaries. `(slice set from to)` returns iterator for all Xs where from <= X <= to. Optionally pass in comparator that will override the one that set uses. Supports efficient [[clojure.core/rseq]].
(sorted-set)
(sorted-set & keys)
Create a set with default comparator.
Create a set with default comparator.
(sorted-set-by cmp)
(sorted-set-by cmp & keys)
Create a set with custom comparator.
Create a set with custom comparator.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close