1 package edu.berkeley.sbp.util;
4 public final class SingletonIterator<T> implements Iterator<T>, Iterable<T> {
6 private boolean spent = false;
9 public SingletonIterator(T t) { this.t = t; }
11 public void remove() { throw new Error(); }
12 public boolean hasNext() { return !spent; }
13 public T next() { spent = true; return t; }
14 public Iterator<T> iterator() { return this; }