X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FTopology.java;h=70441ff54139e67a232d2e844b44416360673855;hp=2756aae89e6a78582cd68017eb54a1f14b74270f;hb=5501b4936902db296d51e3b212c012f2cd2c9065;hpb=c61dfbe5593a9257d39e84261d48472a74975afa diff --git a/src/edu/berkeley/sbp/util/Topology.java b/src/edu/berkeley/sbp/util/Topology.java index 2756aae..70441ff 100644 --- a/src/edu/berkeley/sbp/util/Topology.java +++ b/src/edu/berkeley/sbp/util/Topology.java @@ -1,3 +1,5 @@ +// Copyright 2006 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);