1 // Copyright 2006-2007 all rights reserved; see LICENSE file for BSD-style license
3 package edu.berkeley.sbp.util;
6 public final class SingletonIterator<T> implements Iterator<T>, Iterable<T> {
8 private boolean spent = false;
11 public SingletonIterator(T t) { this.t = t; }
13 public void remove() { throw new Error(); }
14 public boolean hasNext() { return !spent; }
15 public T next() { spent = true; return t; }
16 public Iterator<T> iterator() { return this; }