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>