Annotation of embedaddon/php/ext/spl/internal/infiniteiterator.inc, revision 1.1.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>