package DPJRuntime;
import java.util.*;
/**
* DPJ version of {@code java.util.HashSet}. This implementation
* extends {@code HashSet}, and every method calls the method that it
* overrides. This provides a way to get {@code HashSet}
* functionality with DPJ region and effect annotations.
*
* @author Rob Bocchino
*/
public class SequentialHashSet<type E, region R> extends HashSet<E>
implements SequentialSet<E,R> {
@Override
public boolean add(E e) writes R {
return super.add(e);
}
@Override
public boolean addAll(Collection<? extends E> c) writes R {
return super.addAll(c);
}
@Override
public void clear() writes R {
super.clear();
}
@Override
public boolean contains(Object o) reads R {
return super.contains(o);
}
@Override
public boolean containsAll(Collection<?> c) reads R {
return super.containsAll(c);
}
@Override
public boolean equals(Object o) reads R {
return super.equals(o);
}
@Override
public int hashCode() reads R {
return super.hashCode();
}
@Override
public boolean isEmpty() reads R {
return super.isEmpty();
}
@Override
public Iterator<E> iterator() reads R {
return super.iterator();
}
@Override
public boolean remove(Object o) writes R {
return super.remove(o);
}
@Override
public boolean removeAll(Collection<?> c) writes R {
return super.removeAll(c);
}
@Override
public boolean retainAll(Collection<?> c) writes R {
return super.retainAll(c);
}
@Override
public int size() reads R {
return super.size();
}
@Override
public Object[] toArray() reads R {
return super.toArray();
}
@Override
public <T> T[] toArray(T[] a) reads R {
return super.toArray(a);
}
}