1<?php 2 3/** @file seekableiterator.inc 4 * @ingroup SPL 5 * @brief class SeekableIterator 6 * @author Marcus Boerger 7 * @date 2003 - 2009 8 * 9 * SPL - Standard PHP Library 10 */ 11 12/** @brief seekable iterator 13 * @author Marcus Boerger 14 * @version 1.0 15 * @since PHP 5.0 16 * 17 * Turns a normal iterator ino a seekable iterator. When there is a way 18 * to seek on an iterator LimitIterator can use this to efficiently rewind 19 * to offset. 20 */ 21interface SeekableIterator extends Iterator 22{ 23 /** Seek to an absolute position 24 * 25 * \param $index position to seek to 26 * \return void 27 * 28 * The method should throw an exception if it is not possible to seek to 29 * the given position. Typically this exception should be of type 30 * OutOfBoundsException. 31 \code 32 function seek($index); 33 $this->rewind(); 34 $position = 0; 35 while($position < $index && $this->valid()) { 36 $this->next(); 37 $position++; 38 } 39 if (!$this->valid()) { 40 throw new OutOfBoundsException('Invalid seek position'); 41 } 42 } 43 \endcode 44 */ 45 function seek($index); 46} 47 48?> 49