An adaptation of Okasaki and Gill's "Fast Mergeable Integer Maps`", which can be found at http://ittc.ku.edu/~andygill/papers/IntMap98.pdf
Usage: (->PersistentIntMap root epoch meta)
Positional factory function for class clojure.data.int_map.PersistentIntMap.Source
Usage: (->PersistentIntSet int-set epoch meta)
Positional factory function for class clojure.data.int_map.PersistentIntSet.Source
Usage: (->TransientIntMap root epoch meta)
Positional factory function for class clojure.data.int_map.TransientIntMap.Source
Usage: (->TransientIntSet int-set epoch meta)
Positional factory function for class clojure.data.int_map.TransientIntSet.Source
Usage: (dense-int-set)
(dense-int-set s)
Given a collection, creates an immutable set which can only store integral values. This should be used only if elements are densely clustered (each element has multiple elements within +/- 1000).Source
Usage: (int-map)
(int-map a b)
(int-map a b & rest)
Given alternating keys and values, creates an integer map that can only have integers as keys.Source
Usage: (int-set)
(int-set s)
Given a collection, creates an immutable set which can only store integral values. This should be used unless elements are densely clustered (each element has multiple elements within +/- 1000).Source
Usage: (merge)
(merge a b)
(merge a b & rest)
Merges together two int-maps, giving precedence to values from the right-most map.Source
Usage: (merge-with f)
(merge-with f a b)
(merge-with f a b & rest)
Merges together two int-maps, using `f` to resolve value conflicts.Source
Usage: (range x min max)
Returns a map or set representing all elements within [min, max], inclusive.Source
Usage: (update m k f)
(update m k f & args)
Updates the value associated with the given key. If no such key exists, `f` is invoked with `nil`.Source
Usage: (update! m k f)
(update! m k f & args)
A transient variant of `update`.Source