X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FTopology.java;h=0961623bcedd72348c2a09a7150addb863de9383;hb=6e0ac72335464f3151c0621cc02433800d13c18a;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..0961623 100644
--- a/src/edu/berkeley/sbp/util/Topology.java
+++ b/src/edu/berkeley/sbp/util/Topology.java
@@ -1,3 +1,5 @@
+// Copyright 2006-2007 all rights reserved; see LICENSE file for BSD-style license
+
package edu.berkeley.sbp.util;
import edu.berkeley.sbp.util.*;
import edu.berkeley.sbp.*;
@@ -6,24 +8,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);