X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FTopology.java;h=8de0f726e289de1f726559e3807d2bbe5586e23a;hp=2756aae89e6a78582cd68017eb54a1f14b74270f;hb=7fbee73b4dd985cb5b217ed297710c00fd9d7004;hpb=c61dfbe5593a9257d39e84261d48472a74975afa diff --git a/src/edu/berkeley/sbp/util/Topology.java b/src/edu/berkeley/sbp/util/Topology.java index 2756aae..8de0f72 100644 --- a/src/edu/berkeley/sbp/util/Topology.java +++ b/src/edu/berkeley/sbp/util/Topology.java @@ -6,24 +6,20 @@ import java.util.*; import java.lang.reflect.*; import java.lang.ref.*; -// FIXME: this should be a value class -- add/remove/etc should return new Topology objects /** values inhabiting a topology over V (roughly, infinite sets of V's equipped with union/intersection/complement) */ public interface Topology { - public void add(Topology t); - public void add(V t); - public void remove(Topology t); - public void remove(V t); - public Topology dup(); + public Topology unwrap(); + public Topology empty(); + public boolean contains(V v); - public Topology fresh(); + public boolean disjoint(Topology t); + public boolean containsAll(Topology t); + public Topology complement(); public Topology intersect(Topology t); public Topology minus(Topology t); public Topology union(Topology t); - public Topology complement(); - public boolean disjoint(Topology t); - public boolean containsAll(Topology t); public abstract int hashCode(); public abstract boolean equals(Object o);