Skip to content

Commit ae8ef6c

Browse files
committed
- MFH Add MultipleIterator (Arnaud, Marcus)
1 parent 8d3bfaa commit ae8ef6c

8 files changed

+663
-11
lines changed

NEWS

+1
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ PHP NEWS
118118
. Added FixedArray. (Etienne, Tony)
119119
. Added delaying exceptions in SPL's autoload mechanism. (Marcus)
120120
. Added RecursiveTreeIterator. (Arnaud, Marcus)
121+
. Added MultipleIterator. (Arnaud, Marcus, Johannes)
121122

122123
- Improved Zend Engine:
123124
. Added "compact" handler for Zend MM storage. (Dmitry)

ext/spl/examples/multipleiterator.inc renamed to ext/spl/internal/multipleiterator.inc

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22
/** @file multipleiterator.inc
3-
* @ingroup Examples
3+
* @ingroup SPL
44
* @brief class MultipleIterator
55
* @author Johannes Schlueter
66
* @author Marcus Boerger
@@ -9,7 +9,7 @@
99
* SPL - Standard PHP Library
1010
*/
1111

12-
/** @ingroup Examples
12+
/** @ingroup SPL
1313
* @brief Iterator that iterates over several iterators one after the other
1414
* @author Johannes Schlueter
1515
* @author Marcus Boerger

ext/spl/internal/recursivetreeiterator.inc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22

33
/** @file recursivetreeiterator.inc
4-
* @ingroup Examples
4+
* @ingroup SPL
55
* @brief class RecursiveTreeIterator
66
* @author Marcus Boerger, Johannes Schlueter
77
* @date 2005

ext/spl/php_spl.c

+10-8
Original file line numberDiff line numberDiff line change
@@ -156,14 +156,6 @@ PHP_FUNCTION(class_implements)
156156
SPL_ADD_CLASS(AppendIterator, z_list, sub, allow, ce_flags); \
157157
SPL_ADD_CLASS(ArrayIterator, z_list, sub, allow, ce_flags); \
158158
SPL_ADD_CLASS(ArrayObject, z_list, sub, allow, ce_flags); \
159-
SPL_ADD_CLASS(SplDoublyLinkedList, z_list, sub, allow, ce_flags); \
160-
SPL_ADD_CLASS(SplQueue, z_list, sub, allow, ce_flags); \
161-
SPL_ADD_CLASS(SplStack, z_list, sub, allow, ce_flags); \
162-
SPL_ADD_CLASS(SplHeap, z_list, sub, allow, ce_flags); \
163-
SPL_ADD_CLASS(SplMinHeap, z_list, sub, allow, ce_flags); \
164-
SPL_ADD_CLASS(SplMaxHeap, z_list, sub, allow, ce_flags); \
165-
SPL_ADD_CLASS(SplPriorityQueue, z_list, sub, allow, ce_flags); \
166-
SPL_ADD_CLASS(SplFixedArray, z_list, sub, allow, ce_flags); \
167159
SPL_ADD_CLASS(BadFunctionCallException, z_list, sub, allow, ce_flags); \
168160
SPL_ADD_CLASS(BadMethodCallException, z_list, sub, allow, ce_flags); \
169161
SPL_ADD_CLASS(CachingIterator, z_list, sub, allow, ce_flags); \
@@ -180,6 +172,7 @@ PHP_FUNCTION(class_implements)
180172
SPL_ADD_CLASS(LengthException, z_list, sub, allow, ce_flags); \
181173
SPL_ADD_CLASS(LimitIterator, z_list, sub, allow, ce_flags); \
182174
SPL_ADD_CLASS(LogicException, z_list, sub, allow, ce_flags); \
175+
SPL_ADD_CLASS(MultipleIterator, z_list, sub, allow, ce_flags); \
183176
SPL_ADD_CLASS(NoRewindIterator, z_list, sub, allow, ce_flags); \
184177
SPL_ADD_CLASS(OuterIterator, z_list, sub, allow, ce_flags); \
185178
SPL_ADD_CLASS(OutOfBoundsException, z_list, sub, allow, ce_flags); \
@@ -194,14 +187,23 @@ PHP_FUNCTION(class_implements)
194187
SPL_ADD_CLASS(RecursiveIterator, z_list, sub, allow, ce_flags); \
195188
SPL_ADD_CLASS(RecursiveIteratorIterator, z_list, sub, allow, ce_flags); \
196189
SPL_ADD_CLASS(RecursiveRegexIterator, z_list, sub, allow, ce_flags); \
190+
SPL_ADD_CLASS(RecursiveTreeIterator, z_list, sub, allow, ce_flags); \
197191
SPL_ADD_CLASS(RegexIterator, z_list, sub, allow, ce_flags); \
198192
SPL_ADD_CLASS(RuntimeException, z_list, sub, allow, ce_flags); \
199193
SPL_ADD_CLASS(SeekableIterator, z_list, sub, allow, ce_flags); \
200194
SPL_ADD_CLASS(SimpleXMLIterator, z_list, sub, allow, ce_flags); \
195+
SPL_ADD_CLASS(SplDoublyLinkedList, z_list, sub, allow, ce_flags); \
201196
SPL_ADD_CLASS(SplFileInfo, z_list, sub, allow, ce_flags); \
202197
SPL_ADD_CLASS(SplFileObject, z_list, sub, allow, ce_flags); \
198+
SPL_ADD_CLASS(SplFixedArray, z_list, sub, allow, ce_flags); \
199+
SPL_ADD_CLASS(SplHeap, z_list, sub, allow, ce_flags); \
200+
SPL_ADD_CLASS(SplMinHeap, z_list, sub, allow, ce_flags); \
201+
SPL_ADD_CLASS(SplMaxHeap, z_list, sub, allow, ce_flags); \
203202
SPL_ADD_CLASS(SplObjectStorage, z_list, sub, allow, ce_flags); \
204203
SPL_ADD_CLASS(SplObserver, z_list, sub, allow, ce_flags); \
204+
SPL_ADD_CLASS(SplPriorityQueue, z_list, sub, allow, ce_flags); \
205+
SPL_ADD_CLASS(SplQueue, z_list, sub, allow, ce_flags); \
206+
SPL_ADD_CLASS(SplStack, z_list, sub, allow, ce_flags); \
205207
SPL_ADD_CLASS(SplSubject, z_list, sub, allow, ce_flags); \
206208
SPL_ADD_CLASS(SplTempFileObject, z_list, sub, allow, ce_flags); \
207209
SPL_ADD_CLASS(UnderflowException, z_list, sub, allow, ce_flags); \

ext/spl/spl_iterators.h

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535

3636
extern PHPAPI zend_class_entry *spl_ce_RecursiveIterator;
3737
extern PHPAPI zend_class_entry *spl_ce_RecursiveIteratorIterator;
38+
extern PHPAPI zend_class_entry *spl_ce_RecursiveTreeIterator;
3839
extern PHPAPI zend_class_entry *spl_ce_FilterIterator;
3940
extern PHPAPI zend_class_entry *spl_ce_RecursiveFilterIterator;
4041
extern PHPAPI zend_class_entry *spl_ce_ParentIterator;

0 commit comments

Comments
 (0)