API for clojure.data.finger-tree - Finger trees 0.0.3 (in development)

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
Logo & site design by Tom Hickey.
Clojure auto-documentation system by Tom Faulhaber.