Uses of Class
fj.data.fingertrees.FingerTree
Packages that use FingerTree
Package
Description
Types that set the premise for the existence of Functional Java.
Common algebraic data types.
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 FingerTreeModifier and TypeMethodDescriptionstatic <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 FingerTreeModifier and TypeFieldDescriptionprivate final FingerTree
<K, P2<K, A>> PriorityQueue.ftree
private final FingerTree
<Integer, A> Seq.ftree
Methods in fj.data with parameters of type FingerTreeModifier and TypeMethodDescriptionstatic <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 FingerTreeModifierConstructorDescriptionprivate
PriorityQueue
(Equal<K> e, FingerTree<K, P2<K, A>> ft) private
Seq
(FingerTree<Integer, A> ftree) -
Uses of FingerTree in fj.data.fingertrees
Subclasses of FingerTree in fj.data.fingertreesModifier and TypeClassDescriptionfinal 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.final class
Empty<V,
A> The empty tree.final class
Single<V,
A> A tree with a single element.Fields in fj.data.fingertrees declared as FingerTreeMethods in fj.data.fingertrees that return FingerTreeModifier and TypeMethodDescriptionprivate 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> FingerTree
<V, A> abstract FingerTree
<V, A> Adds the given element to this tree as the first element.FingerTree
<V, A> FingerTree
<V, A> Constructs a deep tree.FingerTree
<V, A> 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> 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
<Integer, A> FingerTree.emptyIntAddition()
static <A> FingerTree
<Integer, P2<Integer, A>> FingerTree.emptyIntMax()
Returns a finger tree which combines the integer node annotations with the maximum function.final <B> FingerTree
<V, A> 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> <B> FingerTree
<V, B> abstract <B> FingerTree
<V, B> Maps the given function across this tree, measuring with the given Measured instance.<B> FingerTree
<V, B> FingerTree
<V, Node<V, A>> Deep.middle()
Returns a finger tree of the inner nodes of this tree.FingerTree
<V, A> Constructs a singleton tree.FingerTree
<V, A> FingerTree
<V, A> abstract FingerTree
<V, A> Adds the given element to this tree as the last element.FingerTree
<V, A> 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()
final FingerTree
<V, A> Digit.toTree()
Returns the tree representation of this digit.Methods in fj.data.fingertrees that return types with arguments of type FingerTreeModifier and TypeMethodDescriptionfinal P2
<FingerTree<V, A>, FingerTree<V, A>> Splits this tree into a pair of subtrees at the point where the given predicate, based on the measure, changes fromfalse
totrue
.final P2
<FingerTree<V, A>, FingerTree<V, A>> 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>> (package private) P3
<FingerTree<V, A>, A, FingerTree<V, A>> (package private) P3
<FingerTree<V, A>, A, FingerTree<V, A>> (package private) P3
<FingerTree<V, A>, A, FingerTree<V, A>> final P3
<FingerTree<V, A>, A, FingerTree<V, A>> Likesplit
, but returns the element wherepred
first holds separately.final P3
<FingerTree<V, A>, A, FingerTree<V, A>> Likesplit
, but returns the element wherepred
first holds separately.(package private) abstract P3
<FingerTree<V, A>, A, FingerTree<V, A>> (package private) abstract P3
<FingerTree<V, A>, A, FingerTree<V, A>> (package private) P3
<FingerTree<V, A>, A, FingerTree<V, A>> (package private) P3
<FingerTree<V, A>, A, FingerTree<V, A>> Methods in fj.data.fingertrees with parameters of type FingerTreeModifier and TypeMethodDescriptionprivate 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> Constructs a deep tree.FingerTree
<V, A> 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 FingerTreeModifier and TypeMethodDescriptionfinal <B> B
Performs a reduction on this finger tree using the given arguments.Constructors in fj.data.fingertrees with parameters of type FingerTree