Lines Matching defs:side
39 public BstInOrderPath<N> extension(BstInOrderPath<N> path, BstSide side) {
40 return BstInOrderPath.extension(path, side);
51 BstInOrderPath<N> path, BstSide side) {
54 return new BstInOrderPath<N>(tip.getChild(side), side, path);
68 private Optional<BstInOrderPath<N>> computeNextInOrder(BstSide side) {
69 if (getTip().hasChild(side)) {
70 BstInOrderPath<N> path = extension(this, side);
71 BstSide otherSide = side.other();
78 while (current.sideExtension == side) {
86 private Optional<BstInOrderPath<N>> nextInOrder(BstSide side) {
88 switch (side) {
91 return (result == null) ? prevInOrder = computeNextInOrder(side) : result;
94 return (result == null) ? nextInOrder = computeNextInOrder(side) : result;
103 public boolean hasNext(BstSide side) {
104 return nextInOrder(side).isPresent();
112 public BstInOrderPath<N> next(BstSide side) {
113 if (!hasNext(side)) {
116 return nextInOrder(side).get();