2003-11-11 18:31:50 +00:00
|
|
|
<?php
|
|
|
|
|
2004-10-29 20:58:58 +00:00
|
|
|
/** @file seekableiterator.inc
|
2004-10-31 19:05:37 +00:00
|
|
|
* @ingroup SPL
|
2004-10-29 20:58:58 +00:00
|
|
|
* @brief class SeekableIterator
|
|
|
|
* @author Marcus Boerger
|
|
|
|
* @date 2003 - 2004
|
|
|
|
*
|
|
|
|
* SPL - Standard PHP Library
|
|
|
|
*/
|
|
|
|
|
|
|
|
/** @brief seekable iterator
|
|
|
|
* @author Marcus Boerger
|
|
|
|
* @version 1.0
|
2003-12-06 19:03:17 +00:00
|
|
|
*
|
|
|
|
* Turns a normal iterator ino a seekable iterator. When there is a way
|
|
|
|
* to seek on an iterator LimitIterator can use this to efficiently rewind
|
|
|
|
* to offset.
|
|
|
|
*/
|
2003-11-17 00:55:37 +00:00
|
|
|
interface SeekableIterator implements Iterator
|
2003-11-11 18:31:50 +00:00
|
|
|
{
|
2003-12-06 19:03:17 +00:00
|
|
|
/** Seek to an absolute position
|
|
|
|
*
|
|
|
|
* \param $index position to seek to
|
|
|
|
* \return void
|
|
|
|
*
|
|
|
|
* \note The method should throw an exception if it is not possible to
|
|
|
|
* seek to the given position.
|
|
|
|
*/
|
2003-11-17 00:55:37 +00:00
|
|
|
function seek($index);
|
|
|
|
/* $this->rewind();
|
2003-11-11 18:31:50 +00:00
|
|
|
$position = 0;
|
2004-03-08 17:33:31 +00:00
|
|
|
while($position < $index && $this->valid()) {
|
2003-11-11 18:31:50 +00:00
|
|
|
$this->next();
|
|
|
|
$position++;
|
|
|
|
}
|
2003-11-17 00:55:37 +00:00
|
|
|
}*/
|
2003-11-11 18:31:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
?>
|