Home | History | Annotate | Download | only in collect

Lines Matching defs:cut

48   final NavigableMap<Cut<C>, Range<C>> rangesByLowerBound;
54 return new TreeRangeSet<C>(new TreeMap<Cut<C>, Range<C>>());
66 private TreeRangeSet(NavigableMap<Cut<C>, Range<C>> rangesByLowerCut) {
99 Entry<Cut<C>, Range<C>> floorEntry = rangesByLowerBound.floorEntry(Cut.belowValue(value));
111 Entry<Cut<C>, Range<C>> floorEntry = rangesByLowerBound.floorEntry(range.lowerBound);
118 Entry<Cut<C>, Range<C>> floorEntry = rangesByLowerBound.floorEntry(range.lowerBound);
126 Entry<Cut<C>, Range<C>> firstEntry = rangesByLowerBound.firstEntry();
127 Entry<Cut<C>, Range<C>> lastEntry = rangesByLowerBound.lastEntry();
144 Cut<C> lbToAdd = rangeToAdd.lowerBound;
145 Cut<C> ubToAdd = rangeToAdd.upperBound;
147 Entry<Cut<C>, Range<C>> entryBelowLB = rangesByLowerBound.lowerEntry(lbToAdd);
165 Entry<Cut<C>, Range<C>> entryBelowUB = rangesByLowerBound.floorEntry(ubToAdd);
192 Entry<Cut<C>, Range<C>> entryBelowLB = rangesByLowerBound.lowerEntry(rangeToRemove.lowerBound);
209 Entry<Cut<C>, Range<C>> entryBelowUB = rangesByLowerBound.floorEntry(rangeToRemove.upperBound);
242 extends AbstractNavigableMap<Cut<C>, Range<C>> {
243 private final NavigableMap<Cut<C>, Range<C>> rangesByLowerBound;
249 private final Range<Cut<C>> upperBoundWindow;
251 RangesByUpperBound(NavigableMap<Cut<C>, Range<C>> rangesByLowerBound) {
257 NavigableMap<Cut<C>, Range<C>> rangesByLowerBound, Range<Cut<C>> upperBoundWindow) {
262 private NavigableMap<Cut<C>, Range<C>> subMap(Range<Cut<C>> window) {
271 public NavigableMap<Cut<C>, Range<C>> subMap(
272 Cut<C> fromKey, boolean fromInclusive, Cut<C> toKey, boolean toInclusive) {
279 public NavigableMap<Cut<C>, Range<C>> headMap(Cut<C> toKey, boolean inclusive) {
284 public NavigableMap<Cut<C>, Range<C>> tailMap(Cut<C> fromKey, boolean inclusive) {
289 public Comparator<? super Cut<C>> comparator() {
290 return Ordering.<Cut<C>>natural();
300 if (key instanceof Cut) {
303 Cut<C> cut = (Cut<C>) key;
304 if (!upperBoundWindow.contains(cut)) {
307 Entry<Cut<C>, Range<C>> candidate = rangesByLowerBound.lowerEntry(cut);
308 if (candidate != null && candidate.getValue().upperBound.equals(cut)) {
319 Iterator<Entry<Cut<C>, Range<C>>> entryIterator() {
328 Entry<Cut<C>, Range<C>> lowerEntry =
339 return new AbstractIterator<Entry<Cut<C>, Range<C>>>() {
341 protected Entry<Cut<C>, Range<C>> computeNext() {
356 Iterator<Entry<Cut<C>, Range<C>>> descendingEntryIterator() {
369 return new AbstractIterator<Entry<Cut<C>, Range<C>>>() {
371 protected Entry<Cut<C>, Range<C>> computeNext() {
400 extends AbstractNavigableMap<Cut<C>, Range<C>> {
401 private final NavigableMap<Cut<C>, Range<C>> positiveRangesByLowerBound;
402 private final NavigableMap<Cut<C>, Range<C>> positiveRangesByUpperBound;
409 private final Range<Cut<C>> complementLowerBoundWindow;
411 ComplementRangesByLowerBound(NavigableMap<Cut<C>, Range<C>> positiveRangesByLowerBound) {
412 this(positiveRangesByLowerBound, Range.<Cut<C>>all());
415 private ComplementRangesByLowerBound(NavigableMap<Cut<C>, Range<C>> positiveRangesByLowerBound,
416 Range<Cut<C>> window) {
422 private NavigableMap<Cut<C>, Range<C>> subMap(Range<Cut<C>> subWindow) {
432 public NavigableMap<Cut<C>, Range<C>> subMap(
433 Cut<C> fromKey, boolean fromInclusive, Cut<C> toKey, boolean toInclusive) {
440 public NavigableMap<Cut<C>, Range<C>> headMap(Cut<C> toKey, boolean inclusive) {
445 public NavigableMap<Cut<C>, Range<C>> tailMap(Cut<C> fromKey, boolean inclusive) {
450 public Comparator<? super Cut<C>> comparator() {
451 return Ordering.<Cut<C>>natural();
455 Iterator<Entry<Cut<C>, Range<C>>> entryIterator() {
459 * bounds, or Cut.belowAll().
475 final Cut<C> firstComplementRangeLowerBound;
476 if (complementLowerBoundWindow.contains(Cut.<C>belowAll()) &&
477 (!positiveItr.hasNext() || positiveItr.peek().lowerBound != Cut.<C>belowAll())) {
478 firstComplementRangeLowerBound = Cut.belowAll();
484 return new AbstractIterator<Entry<Cut<C>, Range<C>>>() {
485 Cut<C> nextComplementRangeLowerBound = firstComplementRangeLowerBound;
488 protected Entry<Cut<C>, Range<C>> computeNext() {
490 || nextComplementRangeLowerBound == Cut.<C>aboveAll()) {
499 negativeRange = Range.create(nextComplementRangeLowerBound, Cut.<C>aboveAll());
500 nextComplementRangeLowerBound = Cut.aboveAll();
508 Iterator<Entry<Cut<C>, Range<C>>> descendingEntryIterator() {
517 Cut<C> startingPoint = complementLowerBoundWindow.hasUpperBound()
519 : Cut.<C>aboveAll();
525 Cut<C> cut;
527 cut = (positiveItr.peek().upperBound == Cut.<C>aboveAll())
530 } else if (!complementLowerBoundWindow.contains(Cut.<C>belowAll())
531 || positiveRangesByLowerBound.containsKey(Cut.belowAll())) {
534 cut = positiveRangesByLowerBound.higherKey(Cut.<C>belowAll());
536 final Cut<C> firstComplementRangeUpperBound =
537 MoreObjects.firstNonNull(cut, Cut.<C>aboveAll());
538 return new AbstractIterator<Entry<Cut<C>, Range<C>>>() {
539 Cut<C> nextComplementRangeUpperBound = firstComplementRangeUpperBound;
542 protected Entry<Cut<C>, Range<C>> computeNext() {
543 if (nextComplementRangeUpperBound == Cut.<C>belowAll()) {
553 } else if (complementLowerBoundWindow.lowerBound.isLessThan(Cut.<C>belowAll())) {
555 Range.create(Cut.<C>belowAll(), nextComplementRangeUpperBound);
556 nextComplementRangeUpperBound = Cut.belowAll();
557 return Maps.immutableEntry(Cut.<C>belowAll(), negativeRange);
572 if (key instanceof Cut) {
575 Cut<C> cut = (Cut<C>) key;
577 Entry<Cut<C>, Range<C>> firstEntry = tailMap(cut, true).firstEntry();
578 if (firstEntry != null && firstEntry.getKey().equals(cut)) {
621 extends AbstractNavigableMap<Cut<C>, Range<C>> {
626 private final Range<Cut<C>> lowerBoundWindow;
634 private final NavigableMap<Cut<C>, Range<C>> rangesByLowerBound;
635 private final NavigableMap<Cut<C>, Range<C>> rangesByUpperBound;
637 private SubRangeSetRangesByLowerBound(Range<Cut<C>> lowerBoundWindow, Range<C> restriction,
638 NavigableMap<Cut<C>, Range<C>> rangesByLowerBound) {
645 private NavigableMap<Cut<C>, Range<C>> subMap(Range<Cut<C>> window) {
655 public NavigableMap<Cut<C>, Range<C>> subMap(
656 Cut<C> fromKey, boolean fromInclusive, Cut<C> toKey, boolean toInclusive) {
662 public NavigableMap<Cut<C>, Range<C>> headMap(Cut<C> toKey, boolean inclusive) {
667 public NavigableMap<Cut<C>, Range<C>> tailMap(Cut<C> fromKey, boolean inclusive) {
672 public Comparator<? super Cut<C>> comparator() {
673 return Ordering.<Cut<C>>natural();
684 if (key instanceof Cut) {
687 Cut<C> cut = (Cut<C>) key;
688 if (!lowerBoundWindow.contains(cut) || cut.compareTo(restriction.lowerBound) < 0
689 || cut.compareTo(restriction.upperBound) >= 0) {
691 } else if (cut.equals(restriction.lowerBound)) {
693 Range<C> candidate = Maps.valueOrNull(rangesByLowerBound.floorEntry(cut));
698 Range<C> result = rangesByLowerBound.get(cut);
711 Iterator<Entry<Cut<C>, Range<C>>> entryIterator() {
727 final Cut<Cut<C>> upperBoundOnLowerBounds = Ordering.natural()
728 .min(lowerBoundWindow.upperBound, Cut.belowValue(restriction.upperBound));
729 return new AbstractIterator<Entry<Cut<C>, Range<C>>>() {
731 protected Entry<Cut<C>, Range<C>> computeNext() {
747 Iterator<Entry<Cut<C>, Range<C>>> descendingEntryIterator() {
751 Cut<Cut<C>> upperBoundOnLowerBounds = Ordering.natural()
752 .min(lowerBoundWindow.upperBound, Cut.belowValue(restriction.upperBound));
757 return new AbstractIterator<Entry<Cut<C>, Range<C>>>() {
759 protected Entry<Cut<C>, Range<C>> computeNext() {
793 Range.<Cut<C>>all(), restriction, TreeRangeSet.this.rangesByLowerBound));