optimizations to IntPairMap.java
[sbp.git] / src / edu / berkeley / sbp / util / Topology.java
1 // Copyright 2006-2007 all rights reserved; see LICENSE file for BSD-style license
2
3 package edu.berkeley.sbp.util;
4 import edu.berkeley.sbp.util.*;
5 import edu.berkeley.sbp.*;
6 import java.io.*;
7 import java.util.*;
8 import java.lang.reflect.*;
9 import java.lang.ref.*;
10
11 /** values inhabiting a topology over <tt>V</tt> (roughly, infinite sets of <tt>V</tt>'s equipped with union/intersection/complement) */
12 public interface Topology<V> {
13
14     public Topology<V>       unwrap();
15     public Topology<V>       empty();
16
17     public boolean           contains(V v);
18     public boolean           disjoint(Topology<V> t);
19     public boolean           containsAll(Topology<V> t);
20
21     public Topology<V>       complement();
22     public Topology<V>       intersect(Topology<V> t);
23     public Topology<V>       minus(Topology<V> t);
24     public Topology<V>       union(Topology<V> t);
25
26     public abstract int     hashCode();
27     public abstract boolean equals(Object o);
28 }