Package org.reactfx.util
Class FingerTree.NonEmptyFingerTree<T,S>
- java.lang.Object
-
- org.reactfx.util.FingerTree<T,S>
-
- org.reactfx.util.FingerTree.NonEmptyFingerTree<T,S>
-
- Direct Known Subclasses:
FingerTree.Branch
,FingerTree.Leaf
- Enclosing class:
- FingerTree<T,S>
public abstract static class FingerTree.NonEmptyFingerTree<T,S> extends FingerTree<T,S>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.reactfx.util.FingerTree
FingerTree.NonEmptyFingerTree<T,S>
-
-
Field Summary
-
Fields inherited from class org.reactfx.util.FingerTree
semigroup
-
-
Constructor Summary
Constructors Modifier Constructor Description private
NonEmptyFingerTree(ToSemigroup<? super T,S> semigroup)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) abstract Either<? extends FingerTree.NonEmptyFingerTree<T,S>,Tuple2<FingerTree.NonEmptyFingerTree<T,S>,FingerTree.NonEmptyFingerTree<T,S>>>
appendLte(FingerTree<T,S> right)
(package private) FingerTree.NonEmptyFingerTree<T,S>
appendTree(FingerTree<T,S> right)
Either<FingerTree<T,S>,FingerTree.NonEmptyFingerTree<T,S>>
caseEmpty()
abstract S
getSummary()
FingerTree.NonEmptyFingerTree<T,S>
join(FingerTree<T,S> rightTree)
BiIndex
locate(java.util.function.BiFunction<? super S,java.lang.Integer,Either<java.lang.Integer,java.lang.Integer>> navigate, int position)
(package private) abstract BiIndex
locate0(java.util.function.BiFunction<? super S,java.lang.Integer,Either<java.lang.Integer,java.lang.Integer>> navigate, int position)
BiIndex
locateProgressively(java.util.function.ToIntFunction<? super S> metric, int position)
(package private) abstract BiIndex
locateProgressively0(java.util.function.ToIntFunction<? super S> metric, int position)
BiIndex
locateRegressively(java.util.function.ToIntFunction<? super S> metric, int position)
(package private) abstract BiIndex
locateRegressively0(java.util.function.ToIntFunction<? super S> metric, int position)
(package private) abstract Either<? extends FingerTree.NonEmptyFingerTree<T,S>,Tuple2<FingerTree.NonEmptyFingerTree<T,S>,FingerTree.NonEmptyFingerTree<T,S>>>
prependLte(FingerTree<T,S> left)
(package private) FingerTree.NonEmptyFingerTree<T,S>
prependTree(FingerTree<T,S> left)
Tuple3<FingerTree<T,S>,Tuple2<T,java.lang.Integer>,FingerTree<T,S>>
split(java.util.function.BiFunction<? super S,java.lang.Integer,Either<java.lang.Integer,java.lang.Integer>> navigate, int position)
Tuple3<FingerTree<T,S>,Tuple2<T,java.lang.Integer>,FingerTree<T,S>>
split(java.util.function.ToIntFunction<? super S> metric, int position)
Tuple3<FingerTree<T,S>,T,FingerTree<T,S>>
splitAt(int leaf)
-
Methods inherited from class org.reactfx.util.FingerTree
append, asList, empty, empty, fold, foldBetween, foldBetween, foldBetween0, foldBetween0, get, get, getData, getDepth, getLeaf, getLeaf0, getLeafCount, getSummary, getSummaryBetween, getSummaryBetween, getSummaryBetween0, getSummaryBetween0, getSummaryOpt, insertLeaf, isEmpty, leaf, measure, mkTree, mkTree, prepend, removeLeafs, split, split0, updateLeaf, updateLeaf0
-
-
-
-
Constructor Detail
-
NonEmptyFingerTree
private NonEmptyFingerTree(ToSemigroup<? super T,S> semigroup)
-
-
Method Detail
-
caseEmpty
public Either<FingerTree<T,S>,FingerTree.NonEmptyFingerTree<T,S>> caseEmpty()
- Specified by:
caseEmpty
in classFingerTree<T,S>
-
getSummary
public abstract S getSummary()
-
locate
public BiIndex locate(java.util.function.BiFunction<? super S,java.lang.Integer,Either<java.lang.Integer,java.lang.Integer>> navigate, int position)
- Overrides:
locate
in classFingerTree<T,S>
-
locateProgressively
public BiIndex locateProgressively(java.util.function.ToIntFunction<? super S> metric, int position)
- Overrides:
locateProgressively
in classFingerTree<T,S>
-
locateRegressively
public BiIndex locateRegressively(java.util.function.ToIntFunction<? super S> metric, int position)
- Overrides:
locateRegressively
in classFingerTree<T,S>
-
splitAt
public Tuple3<FingerTree<T,S>,T,FingerTree<T,S>> splitAt(int leaf)
-
split
public Tuple3<FingerTree<T,S>,Tuple2<T,java.lang.Integer>,FingerTree<T,S>> split(java.util.function.ToIntFunction<? super S> metric, int position)
-
split
public Tuple3<FingerTree<T,S>,Tuple2<T,java.lang.Integer>,FingerTree<T,S>> split(java.util.function.BiFunction<? super S,java.lang.Integer,Either<java.lang.Integer,java.lang.Integer>> navigate, int position)
-
join
public FingerTree.NonEmptyFingerTree<T,S> join(FingerTree<T,S> rightTree)
- Specified by:
join
in classFingerTree<T,S>
-
appendTree
final FingerTree.NonEmptyFingerTree<T,S> appendTree(FingerTree<T,S> right)
-
prependTree
final FingerTree.NonEmptyFingerTree<T,S> prependTree(FingerTree<T,S> left)
-
locate0
abstract BiIndex locate0(java.util.function.BiFunction<? super S,java.lang.Integer,Either<java.lang.Integer,java.lang.Integer>> navigate, int position)
-
locateProgressively0
abstract BiIndex locateProgressively0(java.util.function.ToIntFunction<? super S> metric, int position)
-
locateRegressively0
abstract BiIndex locateRegressively0(java.util.function.ToIntFunction<? super S> metric, int position)
-
appendLte
abstract Either<? extends FingerTree.NonEmptyFingerTree<T,S>,Tuple2<FingerTree.NonEmptyFingerTree<T,S>,FingerTree.NonEmptyFingerTree<T,S>>> appendLte(FingerTree<T,S> right)
-
prependLte
abstract Either<? extends FingerTree.NonEmptyFingerTree<T,S>,Tuple2<FingerTree.NonEmptyFingerTree<T,S>,FingerTree.NonEmptyFingerTree<T,S>>> prependLte(FingerTree<T,S> left)
-
-