Package org.reactfx.util
Class FingerTree.Leaf<T,S>
java.lang.Object
org.reactfx.util.FingerTree<T,S>
org.reactfx.util.FingerTree.NonEmptyFingerTree<T,S>
org.reactfx.util.FingerTree.Leaf<T,S>
- Enclosing class:
FingerTree<T,
S>
-
Nested Class Summary
Nested classes/interfaces inherited from class org.reactfx.util.FingerTree
FingerTree.NonEmptyFingerTree<T,
S> -
Field Summary
FieldsFields inherited from class org.reactfx.util.FingerTree
semigroup
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) Either
<FingerTree.Leaf<T, S>, Tuple2<FingerTree.NonEmptyFingerTree<T, S>, FingerTree.NonEmptyFingerTree<T, S>>> appendLte
(FingerTree<T, S> right) asList()
Returns a list view of this tree.<R> R
fold
(R acc, BiFunction<? super R, ? super T, ? extends R> reduction) (package private) <R> R
foldBetween0
(R acc, BiFunction<? super R, ? super T, ? extends R> reduction, int startLeaf, int endLeaf) (package private) <R> R
foldBetween0
(R acc, BiFunction<? super R, ? super T, ? extends R> reduction, ToIntFunction<? super S> metric, int startPosition, int endPosition, TetraFunction<? super R, ? super T, Integer, Integer, ? extends R> rangeReduction) (package private) T
getData()
int
getDepth()
(package private) T
getLeaf0
(int index) int
(package private) S
getSummaryBetween0
(int startLeaf, int endLeaf) (package private) S
getSummaryBetween0
(ToIntFunction<? super S> metric, int startPosition, int endPosition, TriFunction<? super T, Integer, Integer, ? extends S> subSummary) (package private) BiIndex
(package private) BiIndex
locateProgressively0
(ToIntFunction<? super S> metric, int position) (package private) BiIndex
locateRegressively0
(ToIntFunction<? super S> metric, int position) (package private) Either
<FingerTree.Leaf<T, S>, Tuple2<FingerTree.NonEmptyFingerTree<T, S>, FingerTree.NonEmptyFingerTree<T, S>>> prependLte
(FingerTree<T, S> left) (package private) Tuple2
<FingerTree<T, S>, FingerTree<T, S>> split0
(int beforeLeaf) toString()
(package private) FingerTree.NonEmptyFingerTree
<T, S> updateLeaf0
(int index, T data) Methods inherited from class org.reactfx.util.FingerTree.NonEmptyFingerTree
appendTree, caseEmpty, join, locate, locateProgressively, locateRegressively, prependTree, split, split, splitAt
Methods inherited from class org.reactfx.util.FingerTree
append, empty, empty, foldBetween, foldBetween, get, get, getLeaf, getSummary, getSummaryBetween, getSummaryBetween, insertLeaf, isEmpty, leaf, measure, mkTree, mkTree, prepend, removeLeafs, split, updateLeaf
-
Field Details
-
data
-
summary
-
-
Constructor Details
-
Leaf
Leaf(ToSemigroup<? super T, S> semigroup, T data)
-
-
Method Details
-
toString
-
getDepth
public int getDepth()- Specified by:
getDepth
in classFingerTree<T,
S>
-
getLeafCount
public int getLeafCount()- Specified by:
getLeafCount
in classFingerTree<T,
S>
-
asList
Description copied from class:FingerTree
Returns a list view of this tree. Complexity of operations on the returned list:size()
: O(1);get
: O(log(n));- iteration: O(n) in either direction, with O(log(n)) total allocations;
subList
: O(log(n));- iterative
subList
, i.e. callingsubList
on the result of previoussubList
, up to n times: O(n).
- Specified by:
asList
in classFingerTree<T,
S>
-
getLeaf0
- Specified by:
getLeaf0
in classFingerTree<T,
S>
-
updateLeaf0
- Specified by:
updateLeaf0
in classFingerTree<T,
S>
-
getData
T getData()- Specified by:
getData
in classFingerTree<T,
S>
-
getSummary
- Specified by:
getSummary
in classFingerTree.NonEmptyFingerTree<T,
S>
-
getSummaryOpt
- Specified by:
getSummaryOpt
in classFingerTree<T,
S>
-
locateProgressively0
- Specified by:
locateProgressively0
in classFingerTree.NonEmptyFingerTree<T,
S>
-
locateRegressively0
- Specified by:
locateRegressively0
in classFingerTree.NonEmptyFingerTree<T,
S>
-
fold
- Specified by:
fold
in classFingerTree<T,
S>
-
foldBetween0
<R> R foldBetween0(R acc, BiFunction<? super R, ? super T, ? extends R> reduction, int startLeaf, int endLeaf) - Specified by:
foldBetween0
in classFingerTree<T,
S>
-
foldBetween0
<R> R foldBetween0(R acc, BiFunction<? super R, ? super T, ? extends R> reduction, ToIntFunction<? super S> metric, int startPosition, int endPosition, TetraFunction<? super R, ? super T, Integer, Integer, ? extends R> rangeReduction) - Specified by:
foldBetween0
in classFingerTree<T,
S>
-
getSummaryBetween0
- Specified by:
getSummaryBetween0
in classFingerTree<T,
S>
-
getSummaryBetween0
S getSummaryBetween0(ToIntFunction<? super S> metric, int startPosition, int endPosition, TriFunction<? super T, Integer, Integer, ? extends S> subSummary) - Specified by:
getSummaryBetween0
in classFingerTree<T,
S>
-
appendLte
Either<FingerTree.Leaf<T,S>, appendLteTuple2<FingerTree.NonEmptyFingerTree<T, S>, FingerTree.NonEmptyFingerTree<T, S>>> (FingerTree<T, S> right) - Specified by:
appendLte
in classFingerTree.NonEmptyFingerTree<T,
S>
-
prependLte
Either<FingerTree.Leaf<T,S>, prependLteTuple2<FingerTree.NonEmptyFingerTree<T, S>, FingerTree.NonEmptyFingerTree<T, S>>> (FingerTree<T, S> left) - Specified by:
prependLte
in classFingerTree.NonEmptyFingerTree<T,
S>
-
split0
- Specified by:
split0
in classFingerTree<T,
S>
-
locate0
- Specified by:
locate0
in classFingerTree.NonEmptyFingerTree<T,
S>
-