package com.googlecode.totallylazy.iterators;
import com.googlecode.totallylazy.Segment;
public class SegmentIterator<T> extends ReadOnlyIterator<T> {
private Segment<T> segment;
private SegmentIterator(Segment<T> segment) {
this.segment = segment;
}
public static <T> SegmentIterator<T> iterator(Segment<T> segment) {
return new SegmentIterator<T>(segment);
}
@Override
public boolean hasNext() {
return !segment.isEmpty();
}
@Override
public T next() {
final T head = segment.head();
segment = segment.tail();
return head;
}
}