- public Topology<V> complement() { return dup(rs.complement()); }
- public Topology<V> intersect(Topology<V> t) { return dup(rs.intersect(((IntegerTopology<V>)t).rs)); }
- public Topology<V> minus(Topology<V> t) { return dup(rs.intersect(((IntegerTopology<V>)t).rs.complement())); }
- public Topology<V> union(Topology<V> t) { return dup(rs.union(((IntegerTopology<V>)t).rs)); }
- public boolean disjoint(Topology<V> t) { return rs.intersect(((IntegerTopology<V>)t).rs).size()==0; }
- public boolean containsAll(Topology<V> t) { return rs.intersect(((IntegerTopology<V>)t).rs).equals(((IntegerTopology<V>)t).rs); }
+ public Topology<V> complement() { return new IntegerTopology<V>(rs.complement()); }
+ public Topology<V> intersect(Topology<V> t) { return new IntegerTopology<V>(rs.intersect(((IntegerTopology<V>)t.unwrap()).rs)); }
+ public Topology<V> minus(Topology<V> t) { return new IntegerTopology<V>(rs.intersect(((IntegerTopology<V>)t.unwrap()).rs.complement())); }
+ public Topology<V> union(Topology<V> t) { return new IntegerTopology<V>(rs.union(((IntegerTopology<V>)t.unwrap()).rs)); }
+ public boolean disjoint(Topology<V> t) { return rs.intersect(((IntegerTopology<V>)t.unwrap()).rs).size()==0; }
+ public boolean containsAll(Topology<V> t) { return rs.containsAll(((IntegerTopology<V>)t.unwrap()).rs); }