90 lines
2.2 KiB
Java
90 lines
2.2 KiB
Java
package com.google.common.collect;
|
|
|
|
import java.lang.Comparable;
|
|
import java.util.Iterator;
|
|
|
|
/* loaded from: classes.dex */
|
|
abstract class AbstractRangeSet<C extends Comparable> implements RangeSet<C> {
|
|
AbstractRangeSet() {
|
|
}
|
|
|
|
public abstract void add(Range<C> range);
|
|
|
|
public void addAll(RangeSet<C> rangeSet) {
|
|
addAll(rangeSet.asRanges());
|
|
}
|
|
|
|
public void clear() {
|
|
remove(Range.all());
|
|
}
|
|
|
|
public boolean contains(C c) {
|
|
return rangeContaining(c) != null;
|
|
}
|
|
|
|
@Override // com.google.common.collect.RangeSet
|
|
public abstract boolean encloses(Range<C> range);
|
|
|
|
public boolean enclosesAll(RangeSet<C> rangeSet) {
|
|
return enclosesAll(rangeSet.asRanges());
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (obj == this) {
|
|
return true;
|
|
}
|
|
if (obj instanceof RangeSet) {
|
|
return asRanges().equals(((RangeSet) obj).asRanges());
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public final int hashCode() {
|
|
return asRanges().hashCode();
|
|
}
|
|
|
|
public abstract boolean intersects(Range<C> range);
|
|
|
|
@Override // com.google.common.collect.RangeSet
|
|
public boolean isEmpty() {
|
|
return asRanges().isEmpty();
|
|
}
|
|
|
|
public abstract Range<C> rangeContaining(C c);
|
|
|
|
public abstract void remove(Range<C> range);
|
|
|
|
@Override // com.google.common.collect.RangeSet
|
|
public void removeAll(RangeSet<C> rangeSet) {
|
|
removeAll(rangeSet.asRanges());
|
|
}
|
|
|
|
public final String toString() {
|
|
return asRanges().toString();
|
|
}
|
|
|
|
public void addAll(Iterable<Range<C>> iterable) {
|
|
Iterator<Range<C>> it = iterable.iterator();
|
|
while (it.hasNext()) {
|
|
add(it.next());
|
|
}
|
|
}
|
|
|
|
public boolean enclosesAll(Iterable<Range<C>> iterable) {
|
|
Iterator<Range<C>> it = iterable.iterator();
|
|
while (it.hasNext()) {
|
|
if (!encloses(it.next())) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public void removeAll(Iterable<Range<C>> iterable) {
|
|
Iterator<Range<C>> it = iterable.iterator();
|
|
while (it.hasNext()) {
|
|
remove(it.next());
|
|
}
|
|
}
|
|
}
|