package com.annimon.stream.operator;
import com.annimon.stream.iterator.PrimitiveIterator;
public class IntRangeClosed extends PrimitiveIterator.OfInt {
private final int endInclusive;
private int current;
private boolean hasNext;
public IntRangeClosed(int startInclusive, int endInclusive) {
this.endInclusive = endInclusive;
current = startInclusive;
hasNext = current <= endInclusive;
}
@Override
public boolean hasNext() {
return hasNext;
}
@Override
public int nextInt() {
if (current >= endInclusive) {
hasNext = false;
return endInclusive;
}
return current++;
}
}