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