## net.sf.saxon.expr
Class PairIterator

    java.lang.Object
      net.sf.saxon.expr.PairIterator

All Implemented Interfaces:
  Iterator

    public class PairIterator

extends Object
implements Iterator

An iterator over a pair of objects (typically sub-expressions of an expression)

Constructor Summary
`PairIterator(Object one, Object two)`

Method Summary
`boolean` `hasNext()` Returns `true` if the iteration has more elements.
`Object` `next()` Returns the next element in the iteration.
`void` `remove()` Removes from the underlying collection the last element returned by the iterator (optional operation).

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PairIterator

    public PairIterator(Object one,
                        Object two)

Method Detail

### hasNext

    public boolean hasNext()

  Returns `true` if the iteration has more elements. (In other words, returns `true` if `next` would return an element rather than throwing an exception.)

  Specified by:
    `hasNext` in interface `Iterator`
  Returns:
    `true` if the iterator has more elements.

### next

    public Object next()

  Returns the next element in the iteration.

  Specified by:
    `next` in interface `Iterator`
  Returns:
    the next element in the iteration.
  Throws:
    `NoSuchElementException` - iteration has no more elements.

### remove

    public void remove()

  Removes from the underlying collection the last element returned by the iterator (optional operation). This method can be called only once per call to `next`. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.

  Specified by:
    `remove` in interface `Iterator`
  Throws:
    `UnsupportedOperationException` - if the `remove` operation is not supported by this Iterator.
    `IllegalStateException` - if the `next` method has not yet been called, or the `remove` method has already been called after the last call to the `next` method.

Copyright (C) Michael H. Kay. All rights reserved.