X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FRange.java;h=b80348015c30d995a7db39bb684ea7a4f464dd58;hp=399d2bbec3350db4fd85562343daa599b9fbbaf4;hb=f069d11a0bc59d63b078df8a4aa488498c4e9cc2;hpb=0a0227b9180534d2a431f3d6e08a398bde2244c4 diff --git a/src/edu/berkeley/sbp/util/Range.java b/src/edu/berkeley/sbp/util/Range.java index 399d2bb..b803480 100644 --- a/src/edu/berkeley/sbp/util/Range.java +++ b/src/edu/berkeley/sbp/util/Range.java @@ -35,12 +35,13 @@ package edu.berkeley.sbp.util; import java.util.*; import java.text.*; +import java.io.*; /** * This class represents a range of integers (incuding positive and negative * infinity). */ -public class Range { +public class Range implements Serializable { private boolean negInf, posInf; private long min,max; @@ -269,7 +270,7 @@ public class Range { * * @author Justin F. Chapweske */ - public static class Set implements Iterable { + public static class Set implements Iterable, Serializable { public static final int DEFAULT_CAPACITY = 16; @@ -298,6 +299,11 @@ public class Range { for(Range r : ranges) add(r); } + public Set(Iterable it) { + this(); + for(Range r : it) add(r); + } + /** * @param rs The set with which to union with this set. * @return A new set that represents the union of this and the passed set. @@ -548,6 +554,12 @@ public class Range { return result; } + public boolean containsAll(Range.Set rs) { + for(Range r : rs) + if (!contains(r)) return false; + return true; + } + public boolean equals(Object obj) { if (obj instanceof Range.Set) { Range.Set rs = (Range.Set) obj;