copyright notices/updates
[sbp.git] / src / edu / berkeley / sbp / util / ConcatenateIterator.java
1 // Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
2
3 package edu.berkeley.sbp.util;
4 import java.util.*;
5
6 public final class ConcatenateIterator<T> implements Iterator<T>, Iterable<T> {
7
8     private Iterator<T> i1;
9     private Iterator<T> i2;
10
11     public ConcatenateIterator(Iterator<T> i1, Iterator<T> i2) {
12         this.i1 = i1;
13         this.i2 = i2;
14     }
15
16     public void    remove()       { throw new Error(); }
17     public boolean hasNext()      { return i1.hasNext() || i2.hasNext(); }
18     public T       next()         { return i1.hasNext() ? i1.next() : i2.next(); }
19     public Iterator<T> iterator() { return this; }
20 }