/////// CirbufItr.java /////// import java.util.Enumeration; class CirbufItr extends Cirbuf { public CirbufItr() { super(SIZE); } // no-arg constructor public CirbufItr(int s) { super(s); } public Enumeration elements() { return (new Iterator(head, tail)); } private final class Iterator implements Enumeration { public Iterator(int h, int t) { i0 = h; i1 = t; } public Object nextElement() { if ( i0 == i1 ) return null; Character c = new Character(cb[i0++]); i0 = mod(i0); return c; } public boolean hasMoreElements() { return ( i0 != i1); } private int i0, i1; // head, tail indices } }