SeekableIterator インターフェイスを完成させるために seek() を実装したい場合、シークされた位置が無効な場合、内部的に古い位置に戻す必要がありますか? このような:
public function seek( $position )
{
$oldPosition = $this->_position;
$this->_position = $position;
if( !$this->valid() )
{
$this->_position = $oldPosition;
throw new OutOfBoundsException( 'Invalid seek position (' . $position . ')' );
}
}