Uses of Class
fj.data.fingertrees.FingerTree
-
Packages that use FingerTree Package Description fj Types that set the premise for the existence of Functional Java.fj.data Common algebraic data types.fj.data.fingertrees Provides 2-3 finger trees, a functional representation of persistent sequences supporting access to the ends in amortized O(1) time. -
-
Uses of FingerTree in fj
Methods in fj that return types with arguments of type FingerTree Modifier and Type Method Description static <V,A>
Show<FingerTree<V,A>>Show. fingerTreeShow(Show<V> sv, Show<A> sa)
-
Uses of FingerTree in fj.data
Fields in fj.data declared as FingerTree Modifier and Type Field Description private FingerTree<K,P2<K,A>>
PriorityQueue. ftree
private FingerTree<java.lang.Integer,A>
Seq. ftree
Methods in fj.data with parameters of type FingerTree Modifier and Type Method Description static <K,A>
PriorityQueue<K,A>PriorityQueue. priorityQueue(Equal<K> e, FingerTree<K,P2<K,A>> ft)
Creates a priority queue from a finger tree.Constructors in fj.data with parameters of type FingerTree Constructor Description PriorityQueue(Equal<K> e, FingerTree<K,P2<K,A>> ft)
Seq(FingerTree<java.lang.Integer,A> ftree)
-
Uses of FingerTree in fj.data.fingertrees
Subclasses of FingerTree in fj.data.fingertrees Modifier and Type Class Description class
Deep<V,A>
A finger tree with 1-4-digits on the left and right, and a finger tree of 2-3-nodes in the middle.class
Empty<V,A>
The empty tree.class
Single<V,A>
A tree with a single element.Fields in fj.data.fingertrees declared as FingerTree Modifier and Type Field Description private FingerTree<V,Node<V,A>>
Deep. middle
Methods in fj.data.fingertrees that return FingerTree Modifier and Type Method Description private static <V,A>
FingerTree<V,Node<V,A>>Deep. addDigits0(Measured<V,A> m, FingerTree<V,Node<V,A>> m1, Digit<V,A> s1, Digit<V,A> p2, FingerTree<V,Node<V,A>> m2)
private static <V,A>
FingerTree<V,Node<V,Node<V,A>>>Deep. addDigits1(Measured<V,Node<V,A>> m, FingerTree<V,Node<V,Node<V,A>>> m1, Digit<V,Node<V,A>> x, Node<V,A> n, Digit<V,Node<V,A>> y, FingerTree<V,Node<V,Node<V,A>>> m2)
private static <V,A>
FingerTree<V,Node<V,Node<V,A>>>Deep. addDigits2(Measured<V,Node<V,A>> m, FingerTree<V,Node<V,Node<V,A>>> m1, Digit<V,Node<V,A>> suffix, Node<V,A> n1, Node<V,A> n2, Digit<V,Node<V,A>> prefix, FingerTree<V,Node<V,Node<V,A>>> m2)
private static <V,A>
FingerTree<V,Node<V,Node<V,A>>>Deep. addDigits3(Measured<V,Node<V,A>> m, FingerTree<V,Node<V,Node<V,A>>> m1, Digit<V,Node<V,A>> suffix, Node<V,A> n1, Node<V,A> n2, Node<V,A> n3, Digit<V,Node<V,A>> prefix, FingerTree<V,Node<V,Node<V,A>>> m2)
private static <V,A>
FingerTree<V,Node<V,Node<V,A>>>Deep. addDigits4(Measured<V,Node<V,A>> m, FingerTree<V,Node<V,Node<V,A>>> m1, Digit<V,Node<V,A>> suffix, Node<V,A> n1, Node<V,A> n2, Node<V,A> n3, Node<V,A> n4, Digit<V,Node<V,A>> prefix, FingerTree<V,Node<V,Node<V,A>>> m2)
FingerTree<V,A>
Deep. append(FingerTree<V,A> t)
FingerTree<V,A>
Empty. append(FingerTree<V,A> t)
abstract FingerTree<V,A>
FingerTree. append(FingerTree<V,A> t)
Appends one finger tree to another.FingerTree<V,A>
Single. append(FingerTree<V,A> t)
private static <V,A>
FingerTree<V,Node<V,A>>Deep. append1(Measured<V,A> m, FingerTree<V,Node<V,A>> xs, Node<V,A> a, FingerTree<V,Node<V,A>> ys)
private static <V,A>
FingerTree<V,Node<V,A>>Deep. append2(Measured<V,A> m, FingerTree<V,Node<V,A>> t1, Node<V,A> n1, Node<V,A> n2, FingerTree<V,Node<V,A>> t2)
private static <V,A>
FingerTree<V,Node<V,A>>Deep. append3(Measured<V,A> m, FingerTree<V,Node<V,A>> t1, Node<V,A> n1, Node<V,A> n2, Node<V,A> n3, FingerTree<V,Node<V,A>> t2)
private static <V,A>
FingerTree<V,Node<V,A>>Deep. append4(Measured<V,A> m, FingerTree<V,Node<V,A>> t1, Node<V,A> n1, Node<V,A> n2, Node<V,A> n3, Node<V,A> n4, FingerTree<V,Node<V,A>> t2)
FingerTree<V,A>
Deep. cons(A a)
FingerTree<V,A>
Empty. cons(A a)
abstract FingerTree<V,A>
FingerTree. cons(A a)
Adds the given element to this tree as the first element.FingerTree<V,A>
Single. cons(A b)
FingerTree<V,A>
MakeTree. deep(Digit<V,A> prefix, FingerTree<V,Node<V,A>> middle, Digit<V,A> suffix)
Constructs a deep tree.FingerTree<V,A>
MakeTree. deep(V v, Digit<V,A> prefix, FingerTree<V,Node<V,A>> middle, Digit<V,A> suffix)
Constructs a deep tree with the given annotation value.private static <V,A>
FingerTree<V,A>Deep. deepL(Measured<V,A> measured, Option<Digit<V,A>> lOpt, FingerTree<V,Node<V,A>> m, Digit<V,A> r)
private static <V,A>
FingerTree<V,A>Deep. deepR(Measured<V,A> measured, Option<Digit<V,A>> rOpt, FingerTree<V,Node<V,A>> m, Digit<V,A> l)
static <V,A>
FingerTree<V,A>FingerTree. empty(Monoid<V> m, F<A,V> f)
Creates an empty finger tree with elements of type A and node annotations of type V.FingerTree<V,A>
MakeTree. empty()
Constructs an empty tree.static <A> FingerTree<java.lang.Integer,A>
FingerTree. emptyIntAddition()
static <A> FingerTree<java.lang.Integer,P2<java.lang.Integer,A>>
FingerTree. emptyIntMax()
Returns a finger tree which combines the integer node annotations with the maximum function.<B> FingerTree<V,A>
FingerTree. filter(F<A,java.lang.Boolean> f)
FingerTree<V,A>
Deep. init()
FingerTree<V,A>
Empty. init()
abstract FingerTree<V,A>
FingerTree. init()
The tree without the last element.FingerTree<V,A>
Single. init()
<B> FingerTree<V,B>
Deep. map(F<A,B> abf, Measured<V,B> m)
<B> FingerTree<V,B>
Empty. map(F<A,B> abf, Measured<V,B> m)
abstract <B> FingerTree<V,B>
FingerTree. map(F<A,B> f, Measured<V,B> m)
Maps the given function across this tree, measuring with the given Measured instance.<B> FingerTree<V,B>
Single. map(F<A,B> abf, Measured<V,B> m)
FingerTree<V,Node<V,A>>
Deep. middle()
Returns a finger tree of the inner nodes of this tree.FingerTree<V,A>
MakeTree. single(A a)
Constructs a singleton tree.FingerTree<V,A>
Deep. snoc(A a)
FingerTree<V,A>
Empty. snoc(A a)
abstract FingerTree<V,A>
FingerTree. snoc(A a)
Adds the given element to this tree as the last element.FingerTree<V,A>
Single. snoc(A b)
FingerTree<V,A>
Deep. tail()
FingerTree<V,A>
Empty. tail()
abstract FingerTree<V,A>
FingerTree. tail()
The tree without the first element.FingerTree<V,A>
Single. tail()
FingerTree<V,A>
Digit. toTree()
Returns the tree representation of this digit.Methods in fj.data.fingertrees that return types with arguments of type FingerTree Modifier and Type Method Description P2<FingerTree<V,A>,FingerTree<V,A>>
FingerTree. split(F<V,java.lang.Boolean> predicate)
Splits this tree into a pair of subtrees at the point where the given predicate, based on the measure, changes fromfalse
totrue
.P2<FingerTree<V,A>,FingerTree<V,A>>
FingerTree. split(F<V,java.lang.Boolean> predicate)
Splits this tree into a pair of subtrees at the point where the given predicate, based on the measure, changes fromfalse
totrue
.(package private) P3<FingerTree<V,A>,A,FingerTree<V,A>>
Deep. split1(F<V,java.lang.Boolean> predicate, V acc)
(package private) P3<FingerTree<V,A>,A,FingerTree<V,A>>
Deep. split1(F<V,java.lang.Boolean> predicate, V acc)
(package private) P3<FingerTree<V,A>,A,FingerTree<V,A>>
Empty. split1(F<V,java.lang.Boolean> predicate, V acc)
(package private) P3<FingerTree<V,A>,A,FingerTree<V,A>>
Empty. split1(F<V,java.lang.Boolean> predicate, V acc)
P3<FingerTree<V,A>,A,FingerTree<V,A>>
FingerTree. split1(F<V,java.lang.Boolean> predicate)
Likesplit
, but returns the element wherepred
first holds separately.P3<FingerTree<V,A>,A,FingerTree<V,A>>
FingerTree. split1(F<V,java.lang.Boolean> predicate)
Likesplit
, but returns the element wherepred
first holds separately.(package private) abstract P3<FingerTree<V,A>,A,FingerTree<V,A>>
FingerTree. split1(F<V,java.lang.Boolean> predicate, V acc)
(package private) abstract P3<FingerTree<V,A>,A,FingerTree<V,A>>
FingerTree. split1(F<V,java.lang.Boolean> predicate, V acc)
(package private) P3<FingerTree<V,A>,A,FingerTree<V,A>>
Single. split1(F<V,java.lang.Boolean> predicate, V acc)
(package private) P3<FingerTree<V,A>,A,FingerTree<V,A>>
Single. split1(F<V,java.lang.Boolean> predicate, V acc)
Methods in fj.data.fingertrees with parameters of type FingerTree Modifier and Type Method Description private static <V,A>
FingerTree<V,Node<V,A>>Deep. addDigits0(Measured<V,A> m, FingerTree<V,Node<V,A>> m1, Digit<V,A> s1, Digit<V,A> p2, FingerTree<V,Node<V,A>> m2)
private static <V,A>
FingerTree<V,Node<V,Node<V,A>>>Deep. addDigits1(Measured<V,Node<V,A>> m, FingerTree<V,Node<V,Node<V,A>>> m1, Digit<V,Node<V,A>> x, Node<V,A> n, Digit<V,Node<V,A>> y, FingerTree<V,Node<V,Node<V,A>>> m2)
private static <V,A>
FingerTree<V,Node<V,Node<V,A>>>Deep. addDigits2(Measured<V,Node<V,A>> m, FingerTree<V,Node<V,Node<V,A>>> m1, Digit<V,Node<V,A>> suffix, Node<V,A> n1, Node<V,A> n2, Digit<V,Node<V,A>> prefix, FingerTree<V,Node<V,Node<V,A>>> m2)
private static <V,A>
FingerTree<V,Node<V,Node<V,A>>>Deep. addDigits3(Measured<V,Node<V,A>> m, FingerTree<V,Node<V,Node<V,A>>> m1, Digit<V,Node<V,A>> suffix, Node<V,A> n1, Node<V,A> n2, Node<V,A> n3, Digit<V,Node<V,A>> prefix, FingerTree<V,Node<V,Node<V,A>>> m2)
private static <V,A>
FingerTree<V,Node<V,Node<V,A>>>Deep. addDigits4(Measured<V,Node<V,A>> m, FingerTree<V,Node<V,Node<V,A>>> m1, Digit<V,Node<V,A>> suffix, Node<V,A> n1, Node<V,A> n2, Node<V,A> n3, Node<V,A> n4, Digit<V,Node<V,A>> prefix, FingerTree<V,Node<V,Node<V,A>>> m2)
FingerTree<V,A>
Deep. append(FingerTree<V,A> t)
FingerTree<V,A>
Empty. append(FingerTree<V,A> t)
abstract FingerTree<V,A>
FingerTree. append(FingerTree<V,A> t)
Appends one finger tree to another.FingerTree<V,A>
Single. append(FingerTree<V,A> t)
private static <V,A>
FingerTree<V,Node<V,A>>Deep. append1(Measured<V,A> m, FingerTree<V,Node<V,A>> xs, Node<V,A> a, FingerTree<V,Node<V,A>> ys)
private static <V,A>
FingerTree<V,Node<V,A>>Deep. append2(Measured<V,A> m, FingerTree<V,Node<V,A>> t1, Node<V,A> n1, Node<V,A> n2, FingerTree<V,Node<V,A>> t2)
private static <V,A>
FingerTree<V,Node<V,A>>Deep. append3(Measured<V,A> m, FingerTree<V,Node<V,A>> t1, Node<V,A> n1, Node<V,A> n2, Node<V,A> n3, FingerTree<V,Node<V,A>> t2)
private static <V,A>
FingerTree<V,Node<V,A>>Deep. append4(Measured<V,A> m, FingerTree<V,Node<V,A>> t1, Node<V,A> n1, Node<V,A> n2, Node<V,A> n3, Node<V,A> n4, FingerTree<V,Node<V,A>> t2)
FingerTree<V,A>
MakeTree. deep(Digit<V,A> prefix, FingerTree<V,Node<V,A>> middle, Digit<V,A> suffix)
Constructs a deep tree.FingerTree<V,A>
MakeTree. deep(V v, Digit<V,A> prefix, FingerTree<V,Node<V,A>> middle, Digit<V,A> suffix)
Constructs a deep tree with the given annotation value.private static <V,A>
FingerTree<V,A>Deep. deepL(Measured<V,A> measured, Option<Digit<V,A>> lOpt, FingerTree<V,Node<V,A>> m, Digit<V,A> r)
private static <V,A>
FingerTree<V,A>Deep. deepR(Measured<V,A> measured, Option<Digit<V,A>> rOpt, FingerTree<V,Node<V,A>> m, Digit<V,A> l)
Method parameters in fj.data.fingertrees with type arguments of type FingerTree Modifier and Type Method Description <B> B
FingerTree. uncons(B nil, F2<A,FingerTree<V,A>,B> cons)
Performs a reduction on this finger tree using the given arguments.Constructors in fj.data.fingertrees with parameters of type FingerTree Constructor Description Deep(Measured<V,A> m, V v, Digit<V,A> prefix, FingerTree<V,Node<V,A>> middle, Digit<V,A> suffix)
-