API for clojure.data.finger-tree
-
by Chris Houser
Full namespace name:
clojure.data.finger-tree
Overview
Persistent collections based on 2-3 finger trees.
Protocols
ConjL
Protocol
Known implementations:
CountedDoubleList, DeepTree, DelayedTree, Digit1, Digit2, Digit3, Digit4, DoubleList, EmptyTree, SingleTree
conjl
function
Usage: (conjl s a)
Append a to the left-hand side of s
Source
Measured
Protocol
Known implementations:
CountedDoubleList, CountedSortedSet, DeepTree, DelayedTree, Digit1, Digit2, Digit3, Digit4, DoubleList, EmptyTree, nil, SingleTree
getMeter
function
Usage: (getMeter o)
Return the meter object for o
measured
function
Usage: (measured o)
Return the measured value of o
Source
ObjMeter
Protocol
Object for annotating tree elements. idElem and op together form a Monoid.
Known implementations:
nil
idElem
function
Usage: (idElem _)
Return the identity element for this meter
measure
function
Usage: (measure _ o)
Return the measured value of o (same type as idElem)
opfn
function
Usage: (opfn _)
Return an associative function of two args for combining measures
Source
SplitAt
Protocol
Known implementations:
CountedDoubleList, CountedSortedSet
ft-split-at
function
Usage: (ft-split-at o k notfound)
(ft-split-at o k)
Return [pre m post] where pre and post are trees
Source
Splittable
Protocol
Known implementations:
DeepTree, DelayedTree, Digit1, Digit2, Digit3, Digit4, SingleTree
split
function
Usage: (split o pred acc)
Return [pre m post] where pre and post are trees
Source
Tree
Protocol
Known implementations:
CountedDoubleList, DeepTree, DelayedTree, DoubleList, EmptyTree, SingleTree
app3
function
Usage: (app3 t1 ts t2)
Append ts and (possibly deep) t2 to tree t1
app3deep
function
Usage: (app3deep t2 ts t1)
Append ts and t2 to deep tree t1
measureMore
function
Usage: (measureMore o)
Return the measure of o not including the leftmost item
measurePop
function
Usage: (measurePop o)
Return the measure of o not including the rightmost item
Source
Types
CountedDoubleList
type
Fields:
[tree mdata]
Protocols:
ConjL, Measured, SplitAt, Tree
Interfaces:
clojure.lang.Associative, clojure.lang.Counted, clojure.lang.IHashEq, clojure.lang.IObj, clojure.lang.IPersistentCollection, clojure.lang.IPersistentStack, clojure.lang.ISeq, clojure.lang.Indexed, clojure.lang.Reversible, clojure.lang.Seqable, clojure.lang.Sequential, java.lang.Iterable
CountedSortedSet
type
Fields:
[cmpr tree mdata]
Protocols:
Measured, SplitAt
Interfaces:
clojure.lang.Counted, clojure.lang.IHashEq, clojure.lang.ILookup, clojure.lang.IObj, clojure.lang.IPersistentCollection, clojure.lang.IPersistentSet, clojure.lang.IPersistentStack, clojure.lang.ISeq, clojure.lang.Indexed, clojure.lang.Reversible, clojure.lang.Seqable, clojure.lang.Sorted, java.util.Set
DeepTree
type
Fields:
[meter-obj pre mid suf mval]
Protocols:
ConjL, Measured, Splittable, Tree
Interfaces:
clojure.lang.IPersistentCollection, clojure.lang.IPersistentStack, clojure.lang.ISeq, clojure.lang.Reversible, clojure.lang.Seqable, clojure.lang.Sequential
DelayedTree
type
Fields:
[tree-ref mval]
Protocols:
ConjL, Measured, Splittable, Tree
Interfaces:
clojure.lang.IPersistentCollection, clojure.lang.IPersistentStack, clojure.lang.ISeq, clojure.lang.Reversible, clojure.lang.Seqable, clojure.lang.Sequential
Digit1
type
Fields:
[a meter-obj measure-ref]
Protocols:
ConjL, Measured, Splittable
Interfaces:
clojure.lang.IPersistentCollection, clojure.lang.IPersistentStack, clojure.lang.ISeq, clojure.lang.Indexed, clojure.lang.Seqable, clojure.lang.Sequential
Digit2
type
Fields:
[a b meter-obj measure-ref]
Protocols:
ConjL, Measured, Splittable
Interfaces:
clojure.lang.IPersistentCollection, clojure.lang.IPersistentStack, clojure.lang.ISeq, clojure.lang.Indexed, clojure.lang.Seqable, clojure.lang.Sequential
Digit3
type
Fields:
[a b c meter-obj measure-ref]
Protocols:
ConjL, Measured, Splittable
Interfaces:
clojure.lang.IPersistentCollection, clojure.lang.IPersistentStack, clojure.lang.ISeq, clojure.lang.Indexed, clojure.lang.Seqable, clojure.lang.Sequential
Digit4
type
Fields:
[a b c d meter-obj measure-ref]
Protocols:
ConjL, Measured, Splittable
Interfaces:
clojure.lang.IPersistentCollection, clojure.lang.IPersistentStack, clojure.lang.ISeq, clojure.lang.Indexed, clojure.lang.Seqable, clojure.lang.Sequential
DoubleList
type
Fields:
[tree mdata]
Protocols:
ConjL, Measured, Tree
Interfaces:
clojure.lang.IHashEq, clojure.lang.IObj, clojure.lang.IPersistentCollection, clojure.lang.IPersistentStack, clojure.lang.ISeq, clojure.lang.Reversible, clojure.lang.Seqable, clojure.lang.Sequential, java.lang.Iterable
EmptyTree
type
Fields:
[meter-obj]
Protocols:
ConjL, Measured, Tree
Interfaces:
clojure.lang.IPersistentCollection, clojure.lang.IPersistentStack, clojure.lang.ISeq, clojure.lang.Reversible, clojure.lang.Seqable, clojure.lang.Sequential
Len-Right-Meter
record
Fields:
[len right]
Protocols:
Interfaces:
clojure.lang.IHashEq, clojure.lang.IKeywordLookup, clojure.lang.ILookup, clojure.lang.IObj, clojure.lang.IPersistentMap, java.io.Serializable, java.util.Map
SingleTree
type
Fields:
[meter-obj x]
Protocols:
ConjL, Measured, Splittable, Tree
Interfaces:
clojure.lang.IPersistentCollection, clojure.lang.IPersistentStack, clojure.lang.ISeq, clojure.lang.Reversible, clojure.lang.Seqable, clojure.lang.Sequential
Public Variables and Functions
->CountedDoubleList
function
Usage: (->CountedDoubleList tree mdata)
Positional factory function for class clojure.data.finger_tree.CountedDoubleList.
Source
->CountedSortedSet
function
Usage: (->CountedSortedSet cmpr tree mdata)
Positional factory function for class clojure.data.finger_tree.CountedSortedSet.
Source
->DeepTree
function
Usage: (->DeepTree meter-obj pre mid suf mval)
Positional factory function for class clojure.data.finger_tree.DeepTree.
Source
->DelayedTree
function
Usage: (->DelayedTree tree-ref mval)
Positional factory function for class clojure.data.finger_tree.DelayedTree.
Source
->Digit1
function
Usage: (->Digit1 a meter-obj measure-ref)
Positional factory function for class clojure.data.finger_tree.Digit1.
Source
->Digit2
function
Usage: (->Digit2 a b meter-obj measure-ref)
Positional factory function for class clojure.data.finger_tree.Digit2.
Source
->Digit3
function
Usage: (->Digit3 a b c meter-obj measure-ref)
Positional factory function for class clojure.data.finger_tree.Digit3.
Source
->Digit4
function
Usage: (->Digit4 a b c d meter-obj measure-ref)
Positional factory function for class clojure.data.finger_tree.Digit4.
Source
->DoubleList
function
Usage: (->DoubleList tree mdata)
Positional factory function for class clojure.data.finger_tree.DoubleList.
Source
->EmptyTree
function
Usage: (->EmptyTree meter-obj)
Positional factory function for class clojure.data.finger_tree.EmptyTree.
Source
->Len-Right-Meter
function
Usage: (->Len-Right-Meter len right)
Positional factory function for class clojure.data.finger_tree.Len-Right-Meter.
Source
->SingleTree
function
Usage: (->SingleTree meter-obj x)
Positional factory function for class clojure.data.finger_tree.SingleTree.
Source
map->Len-Right-Meter
function
Usage: (map->Len-Right-Meter m#)
Factory function for class clojure.data.finger_tree.Len-Right-Meter, taking a map of keywords to field values.
Source