/*
 * @author Ranides Atterwim {@literal <ranides@gmail.com>}
 * @copyright Ranides Atterwim
 * @license WTFPL
 * @url http://ranides.net/projects/assira
 */
package net.ranides.assira.collection.sets;

import java.util.Set;
import net.ranides.assira.collection.IntCollection;
import net.ranides.assira.collection.iterators.IntIterator;

/**
 * Specialization of Set for integer types.
 * Avoids unecessary boxing and unboxing operations.
 *
 * @author Ranides Atterwim {@literal <ranides@gmail.com>}
 */
public interface IntSet extends IntCollection, Set<Integer> {

    @Override
    IntIterator iterator();

    @Override
    boolean rem(int k);

    /**
     * non-generic version of {@link #remove(Object)}
     *
     * @param k k
     * @return bool
     */
    boolean remove(int k);
    
}
