checkpoint
[sbp.git] / src / edu / berkeley / sbp / util / Topology.java
1 package edu.berkeley.sbp.util;
2 import edu.berkeley.sbp.util.*;
3 import edu.berkeley.sbp.*;
4 import java.io.*;
5 import java.util.*;
6 import java.lang.reflect.*;
7 import java.lang.ref.*;
8
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> {
11
12     public Topology<V>       unwrap();
13     public Topology<V>       empty();
14
15     public boolean           contains(V v);
16     public boolean           disjoint(Topology<V> t);
17     public boolean           containsAll(Topology<V> t);
18
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);
23
24     public abstract int     hashCode();
25     public abstract boolean equals(Object o);
26 }