org.apache.cassandra.utils

## Class AbstractIterator<V>

- java.lang.Object
- - org.apache.cassandra.utils.AbstractIterator<V>

All Implemented Interfaces:
  com.google.common.collect.PeekingIterator<V>, java.util.Iterator<V>

Direct Known Subclasses:
  AbstractTokenTreeBuilder.LevelIterator, AbstractUnfilteredRowIterator, BigTableScanner.KeyScanningIterator, KeyIterator, LazilyInitializedUnfilteredRowIterator, MergeIterator, MerkleTree.TreeRangeIterator, SSTableSimpleIterator

    public abstract class AbstractIterator<V>
    extends java.lang.Object
    implements java.util.Iterator<V>, com.google.common.collect.PeekingIterator<V>

### Constructor Summary

Constructors
Constructor and Description
`AbstractIterator()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected abstract V` `computeNext()`
`protected V` `endOfData()`
`boolean` `hasNext()`
`V` `next()`
`V` `peek()`
`void` `remove()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.util.Iterator

`forEachRemaining`

### Constructor Detail

#### AbstractIterator

    public AbstractIterator()

### Method Detail

#### endOfData

    protected V endOfData()

#### computeNext

    protected abstract V computeNext()

#### hasNext

    public boolean hasNext()

Specified by:
  `hasNext` in interface `java.util.Iterator<V>`

#### next

    public V next()

Specified by:
  `next` in interface `com.google.common.collect.PeekingIterator<V>`
Specified by:
  `next` in interface `java.util.Iterator<V>`

#### peek

    public V peek()

Specified by:
  `peek` in interface `com.google.common.collect.PeekingIterator<V>`

#### remove

    public void remove()

Specified by:
  `remove` in interface `com.google.common.collect.PeekingIterator<V>`
Specified by:
  `remove` in interface `java.util.Iterator<V>`