Annotation of embedaddon/php/ext/spl/internal/infiniteiterator.inc, revision 1.1
1.1 ! misho 1: <?php
! 2:
! 3: /** @file infiniteiterator.inc
! 4: * @ingroup SPL
! 5: * @brief class InfiniteIterator
! 6: * @author Marcus Boerger
! 7: * @date 2003 - 2009
! 8: *
! 9: * SPL - Standard PHP Library
! 10: */
! 11:
! 12: /** @ingroup SPL
! 13: * @brief An infinite Iterator
! 14: * @author Marcus Boerger
! 15: * @version 1.1
! 16: * @since PHP 5.1
! 17: *
! 18: * This Iterator takes another Iterator and infinitvely iterates it by
! 19: * rewinding it when its end is reached.
! 20: *
! 21: * \note Even an InfiniteIterator stops if its inner Iterator is empty.
! 22: *
! 23: \verbatim
! 24: $it = new ArrayIterator(array(1,2,3));
! 25: $infinite = new InfiniteIterator($it);
! 26: $limit = new LimitIterator($infinite, 0, 5);
! 27: foreach($limit as $val=>$key)
! 28: {
! 29: echo "$val=>$key\n";
! 30: }
! 31: \endverbatim
! 32: */
! 33: class InfiniteIterator extends IteratorIterator
! 34: {
! 35: /** Move the inner Iterator forward to its next element or rewind it.
! 36: * @return void
! 37: */
! 38: function next()
! 39: {
! 40: $this->getInnerIterator()->next();
! 41: if (!$this->getInnerIterator()->valid())
! 42: {
! 43: $this->getInnerIterator()->rewind();
! 44: }
! 45: }
! 46: }
! 47:
! 48: ?>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>