1 package edu.berkeley.sbp.util;
2 import edu.berkeley.sbp.util.*;
3 import edu.berkeley.sbp.*;
6 import java.lang.reflect.*;
7 import java.lang.ref.*;
9 /** values inhabiting a topology over <tt>V</tt> (roughly, infinite sets of <tt>V</tt>'s equipped with union/intersection/complement) */
10 public interface Topology<V> {
12 public Topology<V> unwrap();
13 public Topology<V> empty();
15 public boolean contains(V v);
16 public boolean disjoint(Topology<V> t);
17 public boolean containsAll(Topology<V> t);
19 public Topology<V> complement();
20 public Topology<V> intersect(Topology<V> t);
21 public Topology<V> minus(Topology<V> t);
22 public Topology<V> union(Topology<V> t);
24 public abstract int hashCode();
25 public abstract boolean equals(Object o);