X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=inline;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FTopology.java;h=0961623bcedd72348c2a09a7150addb863de9383;hb=e086905f34b249ca1ae83c000859f2c603919a6b;hp=4f36f08d85d185896efc323469e36497398e3f0d;hpb=0a0227b9180534d2a431f3d6e08a398bde2244c4;p=sbp.git
diff --git a/src/edu/berkeley/sbp/util/Topology.java b/src/edu/berkeley/sbp/util/Topology.java
index 4f36f08..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,23 +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 boolean disjoint(Topology t);
- public boolean containsAll(Topology t);
public abstract int hashCode();
public abstract boolean equals(Object o);