X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FTopology.java;h=8de0f726e289de1f726559e3807d2bbe5586e23a;hb=fef7d888b519acbf0a4ac9cb0a29feda77a494b3;hp=2756aae89e6a78582cd68017eb54a1f14b74270f;hpb=c61dfbe5593a9257d39e84261d48472a74975afa;p=sbp.git
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);