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

import java.util.ListIterator;

public interface IntListIterator extends IntIterator, ListIterator<Integer> {

    @Override
    default void remove() {
        IntIterator.super.remove();
    }
    
    @Override
    default Integer next() {
        return IntIterator.super.next();
    }
    
    default void set(int value) {
        throw new UnsupportedOperationException();
    }
    
    @Override
    default void set(Integer value) {
        set(value.intValue());
    }

    default void add(int value) {
        throw new UnsupportedOperationException();
    }
    
    @Override
    default void add(Integer value) {
        add(value.intValue());
    }

    int previousInt();

    @Override
    default Integer previous() {
        return previousInt();
    }
}
