xref: /PHP-8.1/ext/spl/spl_iterators_arginfo.h (revision 23b1c4a9)
1 /* This is a generated file, edit the .stub.php file instead.
2  * Stub hash: 889a6eed2d62fbb6af168146840189d37765dbaa */
3 
4 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_EmptyIterator_current, 0, 0, IS_NEVER, 0)
5 ZEND_END_ARG_INFO()
6 
7 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_EmptyIterator_next, 0, 0, IS_VOID, 0)
8 ZEND_END_ARG_INFO()
9 
10 #define arginfo_class_EmptyIterator_key arginfo_class_EmptyIterator_current
11 
12 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_EmptyIterator_valid, 0, 0, _IS_BOOL, 0)
13 ZEND_END_ARG_INFO()
14 
15 #define arginfo_class_EmptyIterator_rewind arginfo_class_EmptyIterator_next
16 
17 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_CallbackFilterIterator___construct, 0, 0, 2)
18 	ZEND_ARG_OBJ_INFO(0, iterator, Iterator, 0)
19 	ZEND_ARG_TYPE_INFO(0, callback, IS_CALLABLE, 0)
20 ZEND_END_ARG_INFO()
21 
22 #define arginfo_class_CallbackFilterIterator_accept arginfo_class_EmptyIterator_valid
23 
24 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RecursiveCallbackFilterIterator___construct, 0, 0, 2)
25 	ZEND_ARG_OBJ_INFO(0, iterator, RecursiveIterator, 0)
26 	ZEND_ARG_TYPE_INFO(0, callback, IS_CALLABLE, 0)
27 ZEND_END_ARG_INFO()
28 
29 #define arginfo_class_RecursiveCallbackFilterIterator_hasChildren arginfo_class_EmptyIterator_valid
30 
31 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_RecursiveCallbackFilterIterator_getChildren, 0, 0, RecursiveCallbackFilterIterator, 0)
32 ZEND_END_ARG_INFO()
33 
34 #define arginfo_class_RecursiveIterator_hasChildren arginfo_class_EmptyIterator_valid
35 
36 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_RecursiveIterator_getChildren, 0, 0, RecursiveIterator, 1)
37 ZEND_END_ARG_INFO()
38 
39 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RecursiveIteratorIterator___construct, 0, 0, 1)
40 	ZEND_ARG_OBJ_INFO(0, iterator, Traversable, 0)
41 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "RecursiveIteratorIterator::LEAVES_ONLY")
42 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
43 ZEND_END_ARG_INFO()
44 
45 #define arginfo_class_RecursiveIteratorIterator_rewind arginfo_class_EmptyIterator_next
46 
47 #define arginfo_class_RecursiveIteratorIterator_valid arginfo_class_EmptyIterator_valid
48 
49 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_RecursiveIteratorIterator_key, 0, 0, IS_MIXED, 0)
50 ZEND_END_ARG_INFO()
51 
52 #define arginfo_class_RecursiveIteratorIterator_current arginfo_class_RecursiveIteratorIterator_key
53 
54 #define arginfo_class_RecursiveIteratorIterator_next arginfo_class_EmptyIterator_next
55 
56 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_RecursiveIteratorIterator_getDepth, 0, 0, IS_LONG, 0)
57 ZEND_END_ARG_INFO()
58 
59 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_RecursiveIteratorIterator_getSubIterator, 0, 0, RecursiveIterator, 1)
60 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, level, IS_LONG, 1, "null")
61 ZEND_END_ARG_INFO()
62 
63 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_RecursiveIteratorIterator_getInnerIterator, 0, 0, RecursiveIterator, 0)
64 ZEND_END_ARG_INFO()
65 
66 #define arginfo_class_RecursiveIteratorIterator_beginIteration arginfo_class_EmptyIterator_next
67 
68 #define arginfo_class_RecursiveIteratorIterator_endIteration arginfo_class_EmptyIterator_next
69 
70 #define arginfo_class_RecursiveIteratorIterator_callHasChildren arginfo_class_EmptyIterator_valid
71 
72 #define arginfo_class_RecursiveIteratorIterator_callGetChildren arginfo_class_RecursiveIterator_getChildren
73 
74 #define arginfo_class_RecursiveIteratorIterator_beginChildren arginfo_class_EmptyIterator_next
75 
76 #define arginfo_class_RecursiveIteratorIterator_endChildren arginfo_class_EmptyIterator_next
77 
78 #define arginfo_class_RecursiveIteratorIterator_nextElement arginfo_class_EmptyIterator_next
79 
80 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_RecursiveIteratorIterator_setMaxDepth, 0, 0, IS_VOID, 0)
81 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, maxDepth, IS_LONG, 0, "-1")
82 ZEND_END_ARG_INFO()
83 
84 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_RecursiveIteratorIterator_getMaxDepth, 0, 0, MAY_BE_LONG|MAY_BE_FALSE)
85 ZEND_END_ARG_INFO()
86 
87 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_OuterIterator_getInnerIterator, 0, 0, Iterator, 1)
88 ZEND_END_ARG_INFO()
89 
90 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IteratorIterator___construct, 0, 0, 1)
91 	ZEND_ARG_OBJ_INFO(0, iterator, Traversable, 0)
92 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, class, IS_STRING, 1, "null")
93 ZEND_END_ARG_INFO()
94 
95 #define arginfo_class_IteratorIterator_getInnerIterator arginfo_class_OuterIterator_getInnerIterator
96 
97 #define arginfo_class_IteratorIterator_rewind arginfo_class_EmptyIterator_next
98 
99 #define arginfo_class_IteratorIterator_valid arginfo_class_EmptyIterator_valid
100 
101 #define arginfo_class_IteratorIterator_key arginfo_class_RecursiveIteratorIterator_key
102 
103 #define arginfo_class_IteratorIterator_current arginfo_class_RecursiveIteratorIterator_key
104 
105 #define arginfo_class_IteratorIterator_next arginfo_class_EmptyIterator_next
106 
107 #define arginfo_class_FilterIterator_accept arginfo_class_EmptyIterator_valid
108 
109 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_FilterIterator___construct, 0, 0, 1)
110 	ZEND_ARG_OBJ_INFO(0, iterator, Iterator, 0)
111 ZEND_END_ARG_INFO()
112 
113 #define arginfo_class_FilterIterator_rewind arginfo_class_EmptyIterator_next
114 
115 #define arginfo_class_FilterIterator_next arginfo_class_EmptyIterator_next
116 
117 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RecursiveFilterIterator___construct, 0, 0, 1)
118 	ZEND_ARG_OBJ_INFO(0, iterator, RecursiveIterator, 0)
119 ZEND_END_ARG_INFO()
120 
121 #define arginfo_class_RecursiveFilterIterator_hasChildren arginfo_class_EmptyIterator_valid
122 
123 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_RecursiveFilterIterator_getChildren, 0, 0, RecursiveFilterIterator, 1)
124 ZEND_END_ARG_INFO()
125 
126 #define arginfo_class_ParentIterator___construct arginfo_class_RecursiveFilterIterator___construct
127 
128 #define arginfo_class_ParentIterator_accept arginfo_class_EmptyIterator_valid
129 
130 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SeekableIterator_seek, 0, 1, IS_VOID, 0)
131 	ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
132 ZEND_END_ARG_INFO()
133 
134 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_LimitIterator___construct, 0, 0, 1)
135 	ZEND_ARG_OBJ_INFO(0, iterator, Iterator, 0)
136 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "0")
137 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, limit, IS_LONG, 0, "-1")
138 ZEND_END_ARG_INFO()
139 
140 #define arginfo_class_LimitIterator_rewind arginfo_class_EmptyIterator_next
141 
142 #define arginfo_class_LimitIterator_valid arginfo_class_EmptyIterator_valid
143 
144 #define arginfo_class_LimitIterator_next arginfo_class_EmptyIterator_next
145 
146 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_LimitIterator_seek, 0, 1, IS_LONG, 0)
147 	ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
148 ZEND_END_ARG_INFO()
149 
150 #define arginfo_class_LimitIterator_getPosition arginfo_class_RecursiveIteratorIterator_getDepth
151 
152 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_CachingIterator___construct, 0, 0, 1)
153 	ZEND_ARG_OBJ_INFO(0, iterator, Iterator, 0)
154 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "CachingIterator::CALL_TOSTRING")
155 ZEND_END_ARG_INFO()
156 
157 #define arginfo_class_CachingIterator_rewind arginfo_class_EmptyIterator_next
158 
159 #define arginfo_class_CachingIterator_valid arginfo_class_EmptyIterator_valid
160 
161 #define arginfo_class_CachingIterator_next arginfo_class_EmptyIterator_next
162 
163 #define arginfo_class_CachingIterator_hasNext arginfo_class_EmptyIterator_valid
164 
165 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_CachingIterator___toString, 0, 0, IS_STRING, 0)
166 ZEND_END_ARG_INFO()
167 
168 #define arginfo_class_CachingIterator_getFlags arginfo_class_RecursiveIteratorIterator_getDepth
169 
170 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_CachingIterator_setFlags, 0, 1, IS_VOID, 0)
171 	ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
172 ZEND_END_ARG_INFO()
173 
174 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_CachingIterator_offsetGet, 0, 1, IS_MIXED, 0)
175 	ZEND_ARG_INFO(0, key)
176 ZEND_END_ARG_INFO()
177 
178 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_CachingIterator_offsetSet, 0, 2, IS_VOID, 0)
179 	ZEND_ARG_INFO(0, key)
180 	ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0)
181 ZEND_END_ARG_INFO()
182 
183 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_CachingIterator_offsetUnset, 0, 1, IS_VOID, 0)
184 	ZEND_ARG_INFO(0, key)
185 ZEND_END_ARG_INFO()
186 
187 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_CachingIterator_offsetExists, 0, 1, _IS_BOOL, 0)
188 	ZEND_ARG_INFO(0, key)
189 ZEND_END_ARG_INFO()
190 
191 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_CachingIterator_getCache, 0, 0, IS_ARRAY, 0)
192 ZEND_END_ARG_INFO()
193 
194 #define arginfo_class_CachingIterator_count arginfo_class_RecursiveIteratorIterator_getDepth
195 
196 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RecursiveCachingIterator___construct, 0, 0, 1)
197 	ZEND_ARG_OBJ_INFO(0, iterator, Iterator, 0)
198 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "RecursiveCachingIterator::CALL_TOSTRING")
199 ZEND_END_ARG_INFO()
200 
201 #define arginfo_class_RecursiveCachingIterator_hasChildren arginfo_class_EmptyIterator_valid
202 
203 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_RecursiveCachingIterator_getChildren, 0, 0, RecursiveCachingIterator, 1)
204 ZEND_END_ARG_INFO()
205 
206 #define arginfo_class_NoRewindIterator___construct arginfo_class_FilterIterator___construct
207 
208 #define arginfo_class_NoRewindIterator_rewind arginfo_class_EmptyIterator_next
209 
210 #define arginfo_class_NoRewindIterator_valid arginfo_class_EmptyIterator_valid
211 
212 #define arginfo_class_NoRewindIterator_key arginfo_class_RecursiveIteratorIterator_key
213 
214 #define arginfo_class_NoRewindIterator_current arginfo_class_RecursiveIteratorIterator_key
215 
216 #define arginfo_class_NoRewindIterator_next arginfo_class_EmptyIterator_next
217 
218 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_AppendIterator___construct, 0, 0, 0)
219 ZEND_END_ARG_INFO()
220 
221 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_AppendIterator_append, 0, 1, IS_VOID, 0)
222 	ZEND_ARG_OBJ_INFO(0, iterator, Iterator, 0)
223 ZEND_END_ARG_INFO()
224 
225 #define arginfo_class_AppendIterator_rewind arginfo_class_EmptyIterator_next
226 
227 #define arginfo_class_AppendIterator_valid arginfo_class_EmptyIterator_valid
228 
229 #define arginfo_class_AppendIterator_current arginfo_class_RecursiveIteratorIterator_key
230 
231 #define arginfo_class_AppendIterator_next arginfo_class_EmptyIterator_next
232 
233 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_AppendIterator_getIteratorIndex, 0, 0, IS_LONG, 1)
234 ZEND_END_ARG_INFO()
235 
236 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_AppendIterator_getArrayIterator, 0, 0, ArrayIterator, 0)
237 ZEND_END_ARG_INFO()
238 
239 #define arginfo_class_InfiniteIterator___construct arginfo_class_FilterIterator___construct
240 
241 #define arginfo_class_InfiniteIterator_next arginfo_class_EmptyIterator_next
242 
243 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RegexIterator___construct, 0, 0, 2)
244 	ZEND_ARG_OBJ_INFO(0, iterator, Iterator, 0)
245 	ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
246 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "RegexIterator::MATCH")
247 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
248 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pregFlags, IS_LONG, 0, "0")
249 ZEND_END_ARG_INFO()
250 
251 #define arginfo_class_RegexIterator_accept arginfo_class_EmptyIterator_valid
252 
253 #define arginfo_class_RegexIterator_getMode arginfo_class_RecursiveIteratorIterator_getDepth
254 
255 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_RegexIterator_setMode, 0, 1, IS_VOID, 0)
256 	ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
257 ZEND_END_ARG_INFO()
258 
259 #define arginfo_class_RegexIterator_getFlags arginfo_class_RecursiveIteratorIterator_getDepth
260 
261 #define arginfo_class_RegexIterator_setFlags arginfo_class_CachingIterator_setFlags
262 
263 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_RegexIterator_getRegex, 0, 0, IS_STRING, 0)
264 ZEND_END_ARG_INFO()
265 
266 #define arginfo_class_RegexIterator_getPregFlags arginfo_class_RecursiveIteratorIterator_getDepth
267 
268 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_RegexIterator_setPregFlags, 0, 1, IS_VOID, 0)
269 	ZEND_ARG_TYPE_INFO(0, pregFlags, IS_LONG, 0)
270 ZEND_END_ARG_INFO()
271 
272 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RecursiveRegexIterator___construct, 0, 0, 2)
273 	ZEND_ARG_OBJ_INFO(0, iterator, RecursiveIterator, 0)
274 	ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
275 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "RecursiveRegexIterator::MATCH")
276 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
277 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pregFlags, IS_LONG, 0, "0")
278 ZEND_END_ARG_INFO()
279 
280 #define arginfo_class_RecursiveRegexIterator_accept arginfo_class_EmptyIterator_valid
281 
282 #define arginfo_class_RecursiveRegexIterator_hasChildren arginfo_class_EmptyIterator_valid
283 
284 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_RecursiveRegexIterator_getChildren, 0, 0, RecursiveRegexIterator, 0)
285 ZEND_END_ARG_INFO()
286 
287 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RecursiveTreeIterator___construct, 0, 0, 1)
288 	ZEND_ARG_INFO(0, iterator)
289 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "RecursiveTreeIterator::BYPASS_KEY")
290 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, cachingIteratorFlags, IS_LONG, 0, "CachingIterator::CATCH_GET_CHILD")
291 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "RecursiveTreeIterator::SELF_FIRST")
292 ZEND_END_ARG_INFO()
293 
294 #define arginfo_class_RecursiveTreeIterator_key arginfo_class_RecursiveIteratorIterator_key
295 
296 #define arginfo_class_RecursiveTreeIterator_current arginfo_class_RecursiveIteratorIterator_key
297 
298 #define arginfo_class_RecursiveTreeIterator_getPrefix arginfo_class_RegexIterator_getRegex
299 
300 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_RecursiveTreeIterator_setPostfix, 0, 1, IS_VOID, 0)
301 	ZEND_ARG_TYPE_INFO(0, postfix, IS_STRING, 0)
302 ZEND_END_ARG_INFO()
303 
304 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_RecursiveTreeIterator_setPrefixPart, 0, 2, IS_VOID, 0)
305 	ZEND_ARG_TYPE_INFO(0, part, IS_LONG, 0)
306 	ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
307 ZEND_END_ARG_INFO()
308 
309 #define arginfo_class_RecursiveTreeIterator_getEntry arginfo_class_RegexIterator_getRegex
310 
311 #define arginfo_class_RecursiveTreeIterator_getPostfix arginfo_class_RegexIterator_getRegex
312 
313 
314 ZEND_METHOD(EmptyIterator, current);
315 ZEND_METHOD(EmptyIterator, next);
316 ZEND_METHOD(EmptyIterator, key);
317 ZEND_METHOD(EmptyIterator, valid);
318 ZEND_METHOD(EmptyIterator, rewind);
319 ZEND_METHOD(CallbackFilterIterator, __construct);
320 ZEND_METHOD(CallbackFilterIterator, accept);
321 ZEND_METHOD(RecursiveCallbackFilterIterator, __construct);
322 ZEND_METHOD(RecursiveFilterIterator, hasChildren);
323 ZEND_METHOD(RecursiveCallbackFilterIterator, getChildren);
324 ZEND_METHOD(RecursiveIteratorIterator, __construct);
325 ZEND_METHOD(RecursiveIteratorIterator, rewind);
326 ZEND_METHOD(RecursiveIteratorIterator, valid);
327 ZEND_METHOD(RecursiveIteratorIterator, key);
328 ZEND_METHOD(RecursiveIteratorIterator, current);
329 ZEND_METHOD(RecursiveIteratorIterator, next);
330 ZEND_METHOD(RecursiveIteratorIterator, getDepth);
331 ZEND_METHOD(RecursiveIteratorIterator, getSubIterator);
332 ZEND_METHOD(RecursiveIteratorIterator, getInnerIterator);
333 ZEND_METHOD(RecursiveIteratorIterator, beginIteration);
334 ZEND_METHOD(RecursiveIteratorIterator, endIteration);
335 ZEND_METHOD(RecursiveIteratorIterator, callHasChildren);
336 ZEND_METHOD(RecursiveIteratorIterator, callGetChildren);
337 ZEND_METHOD(RecursiveIteratorIterator, beginChildren);
338 ZEND_METHOD(RecursiveIteratorIterator, endChildren);
339 ZEND_METHOD(RecursiveIteratorIterator, nextElement);
340 ZEND_METHOD(RecursiveIteratorIterator, setMaxDepth);
341 ZEND_METHOD(RecursiveIteratorIterator, getMaxDepth);
342 ZEND_METHOD(IteratorIterator, __construct);
343 ZEND_METHOD(IteratorIterator, getInnerIterator);
344 ZEND_METHOD(IteratorIterator, rewind);
345 ZEND_METHOD(IteratorIterator, valid);
346 ZEND_METHOD(IteratorIterator, key);
347 ZEND_METHOD(IteratorIterator, current);
348 ZEND_METHOD(IteratorIterator, next);
349 ZEND_METHOD(FilterIterator, __construct);
350 ZEND_METHOD(FilterIterator, rewind);
351 ZEND_METHOD(FilterIterator, next);
352 ZEND_METHOD(RecursiveFilterIterator, __construct);
353 ZEND_METHOD(RecursiveFilterIterator, getChildren);
354 ZEND_METHOD(ParentIterator, __construct);
355 ZEND_METHOD(LimitIterator, __construct);
356 ZEND_METHOD(LimitIterator, rewind);
357 ZEND_METHOD(LimitIterator, valid);
358 ZEND_METHOD(LimitIterator, next);
359 ZEND_METHOD(LimitIterator, seek);
360 ZEND_METHOD(LimitIterator, getPosition);
361 ZEND_METHOD(CachingIterator, __construct);
362 ZEND_METHOD(CachingIterator, rewind);
363 ZEND_METHOD(CachingIterator, valid);
364 ZEND_METHOD(CachingIterator, next);
365 ZEND_METHOD(CachingIterator, hasNext);
366 ZEND_METHOD(CachingIterator, __toString);
367 ZEND_METHOD(CachingIterator, getFlags);
368 ZEND_METHOD(CachingIterator, setFlags);
369 ZEND_METHOD(CachingIterator, offsetGet);
370 ZEND_METHOD(CachingIterator, offsetSet);
371 ZEND_METHOD(CachingIterator, offsetUnset);
372 ZEND_METHOD(CachingIterator, offsetExists);
373 ZEND_METHOD(CachingIterator, getCache);
374 ZEND_METHOD(CachingIterator, count);
375 ZEND_METHOD(RecursiveCachingIterator, __construct);
376 ZEND_METHOD(RecursiveCachingIterator, hasChildren);
377 ZEND_METHOD(RecursiveCachingIterator, getChildren);
378 ZEND_METHOD(NoRewindIterator, __construct);
379 ZEND_METHOD(NoRewindIterator, rewind);
380 ZEND_METHOD(NoRewindIterator, valid);
381 ZEND_METHOD(NoRewindIterator, key);
382 ZEND_METHOD(NoRewindIterator, current);
383 ZEND_METHOD(NoRewindIterator, next);
384 ZEND_METHOD(AppendIterator, __construct);
385 ZEND_METHOD(AppendIterator, append);
386 ZEND_METHOD(AppendIterator, rewind);
387 ZEND_METHOD(AppendIterator, valid);
388 ZEND_METHOD(AppendIterator, current);
389 ZEND_METHOD(AppendIterator, next);
390 ZEND_METHOD(AppendIterator, getIteratorIndex);
391 ZEND_METHOD(AppendIterator, getArrayIterator);
392 ZEND_METHOD(InfiniteIterator, __construct);
393 ZEND_METHOD(InfiniteIterator, next);
394 ZEND_METHOD(RegexIterator, __construct);
395 ZEND_METHOD(RegexIterator, accept);
396 ZEND_METHOD(RegexIterator, getMode);
397 ZEND_METHOD(RegexIterator, setMode);
398 ZEND_METHOD(RegexIterator, getFlags);
399 ZEND_METHOD(RegexIterator, setFlags);
400 ZEND_METHOD(RegexIterator, getRegex);
401 ZEND_METHOD(RegexIterator, getPregFlags);
402 ZEND_METHOD(RegexIterator, setPregFlags);
403 ZEND_METHOD(RecursiveRegexIterator, __construct);
404 ZEND_METHOD(RecursiveRegexIterator, accept);
405 ZEND_METHOD(RecursiveRegexIterator, getChildren);
406 ZEND_METHOD(RecursiveTreeIterator, __construct);
407 ZEND_METHOD(RecursiveTreeIterator, key);
408 ZEND_METHOD(RecursiveTreeIterator, current);
409 ZEND_METHOD(RecursiveTreeIterator, getPrefix);
410 ZEND_METHOD(RecursiveTreeIterator, setPostfix);
411 ZEND_METHOD(RecursiveTreeIterator, setPrefixPart);
412 ZEND_METHOD(RecursiveTreeIterator, getEntry);
413 ZEND_METHOD(RecursiveTreeIterator, getPostfix);
414 
415 
416 static const zend_function_entry class_EmptyIterator_methods[] = {
417 	ZEND_ME(EmptyIterator, current, arginfo_class_EmptyIterator_current, ZEND_ACC_PUBLIC)
418 	ZEND_ME(EmptyIterator, next, arginfo_class_EmptyIterator_next, ZEND_ACC_PUBLIC)
419 	ZEND_ME(EmptyIterator, key, arginfo_class_EmptyIterator_key, ZEND_ACC_PUBLIC)
420 	ZEND_ME(EmptyIterator, valid, arginfo_class_EmptyIterator_valid, ZEND_ACC_PUBLIC)
421 	ZEND_ME(EmptyIterator, rewind, arginfo_class_EmptyIterator_rewind, ZEND_ACC_PUBLIC)
422 	ZEND_FE_END
423 };
424 
425 
426 static const zend_function_entry class_CallbackFilterIterator_methods[] = {
427 	ZEND_ME(CallbackFilterIterator, __construct, arginfo_class_CallbackFilterIterator___construct, ZEND_ACC_PUBLIC)
428 	ZEND_ME(CallbackFilterIterator, accept, arginfo_class_CallbackFilterIterator_accept, ZEND_ACC_PUBLIC)
429 	ZEND_FE_END
430 };
431 
432 
433 static const zend_function_entry class_RecursiveCallbackFilterIterator_methods[] = {
434 	ZEND_ME(RecursiveCallbackFilterIterator, __construct, arginfo_class_RecursiveCallbackFilterIterator___construct, ZEND_ACC_PUBLIC)
435 	ZEND_MALIAS(RecursiveFilterIterator, hasChildren, hasChildren, arginfo_class_RecursiveCallbackFilterIterator_hasChildren, ZEND_ACC_PUBLIC)
436 	ZEND_ME(RecursiveCallbackFilterIterator, getChildren, arginfo_class_RecursiveCallbackFilterIterator_getChildren, ZEND_ACC_PUBLIC)
437 	ZEND_FE_END
438 };
439 
440 
441 static const zend_function_entry class_RecursiveIterator_methods[] = {
442 	ZEND_ABSTRACT_ME_WITH_FLAGS(RecursiveIterator, hasChildren, arginfo_class_RecursiveIterator_hasChildren, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT)
443 	ZEND_ABSTRACT_ME_WITH_FLAGS(RecursiveIterator, getChildren, arginfo_class_RecursiveIterator_getChildren, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT)
444 	ZEND_FE_END
445 };
446 
447 
448 static const zend_function_entry class_RecursiveIteratorIterator_methods[] = {
449 	ZEND_ME(RecursiveIteratorIterator, __construct, arginfo_class_RecursiveIteratorIterator___construct, ZEND_ACC_PUBLIC)
450 	ZEND_ME(RecursiveIteratorIterator, rewind, arginfo_class_RecursiveIteratorIterator_rewind, ZEND_ACC_PUBLIC)
451 	ZEND_ME(RecursiveIteratorIterator, valid, arginfo_class_RecursiveIteratorIterator_valid, ZEND_ACC_PUBLIC)
452 	ZEND_ME(RecursiveIteratorIterator, key, arginfo_class_RecursiveIteratorIterator_key, ZEND_ACC_PUBLIC)
453 	ZEND_ME(RecursiveIteratorIterator, current, arginfo_class_RecursiveIteratorIterator_current, ZEND_ACC_PUBLIC)
454 	ZEND_ME(RecursiveIteratorIterator, next, arginfo_class_RecursiveIteratorIterator_next, ZEND_ACC_PUBLIC)
455 	ZEND_ME(RecursiveIteratorIterator, getDepth, arginfo_class_RecursiveIteratorIterator_getDepth, ZEND_ACC_PUBLIC)
456 	ZEND_ME(RecursiveIteratorIterator, getSubIterator, arginfo_class_RecursiveIteratorIterator_getSubIterator, ZEND_ACC_PUBLIC)
457 	ZEND_ME(RecursiveIteratorIterator, getInnerIterator, arginfo_class_RecursiveIteratorIterator_getInnerIterator, ZEND_ACC_PUBLIC)
458 	ZEND_ME(RecursiveIteratorIterator, beginIteration, arginfo_class_RecursiveIteratorIterator_beginIteration, ZEND_ACC_PUBLIC)
459 	ZEND_ME(RecursiveIteratorIterator, endIteration, arginfo_class_RecursiveIteratorIterator_endIteration, ZEND_ACC_PUBLIC)
460 	ZEND_ME(RecursiveIteratorIterator, callHasChildren, arginfo_class_RecursiveIteratorIterator_callHasChildren, ZEND_ACC_PUBLIC)
461 	ZEND_ME(RecursiveIteratorIterator, callGetChildren, arginfo_class_RecursiveIteratorIterator_callGetChildren, ZEND_ACC_PUBLIC)
462 	ZEND_ME(RecursiveIteratorIterator, beginChildren, arginfo_class_RecursiveIteratorIterator_beginChildren, ZEND_ACC_PUBLIC)
463 	ZEND_ME(RecursiveIteratorIterator, endChildren, arginfo_class_RecursiveIteratorIterator_endChildren, ZEND_ACC_PUBLIC)
464 	ZEND_ME(RecursiveIteratorIterator, nextElement, arginfo_class_RecursiveIteratorIterator_nextElement, ZEND_ACC_PUBLIC)
465 	ZEND_ME(RecursiveIteratorIterator, setMaxDepth, arginfo_class_RecursiveIteratorIterator_setMaxDepth, ZEND_ACC_PUBLIC)
466 	ZEND_ME(RecursiveIteratorIterator, getMaxDepth, arginfo_class_RecursiveIteratorIterator_getMaxDepth, ZEND_ACC_PUBLIC)
467 	ZEND_FE_END
468 };
469 
470 
471 static const zend_function_entry class_OuterIterator_methods[] = {
472 	ZEND_ABSTRACT_ME_WITH_FLAGS(OuterIterator, getInnerIterator, arginfo_class_OuterIterator_getInnerIterator, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT)
473 	ZEND_FE_END
474 };
475 
476 
477 static const zend_function_entry class_IteratorIterator_methods[] = {
478 	ZEND_ME(IteratorIterator, __construct, arginfo_class_IteratorIterator___construct, ZEND_ACC_PUBLIC)
479 	ZEND_ME(IteratorIterator, getInnerIterator, arginfo_class_IteratorIterator_getInnerIterator, ZEND_ACC_PUBLIC)
480 	ZEND_ME(IteratorIterator, rewind, arginfo_class_IteratorIterator_rewind, ZEND_ACC_PUBLIC)
481 	ZEND_ME(IteratorIterator, valid, arginfo_class_IteratorIterator_valid, ZEND_ACC_PUBLIC)
482 	ZEND_ME(IteratorIterator, key, arginfo_class_IteratorIterator_key, ZEND_ACC_PUBLIC)
483 	ZEND_ME(IteratorIterator, current, arginfo_class_IteratorIterator_current, ZEND_ACC_PUBLIC)
484 	ZEND_ME(IteratorIterator, next, arginfo_class_IteratorIterator_next, ZEND_ACC_PUBLIC)
485 	ZEND_FE_END
486 };
487 
488 
489 static const zend_function_entry class_FilterIterator_methods[] = {
490 	ZEND_ABSTRACT_ME_WITH_FLAGS(FilterIterator, accept, arginfo_class_FilterIterator_accept, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT)
491 	ZEND_ME(FilterIterator, __construct, arginfo_class_FilterIterator___construct, ZEND_ACC_PUBLIC)
492 	ZEND_ME(FilterIterator, rewind, arginfo_class_FilterIterator_rewind, ZEND_ACC_PUBLIC)
493 	ZEND_ME(FilterIterator, next, arginfo_class_FilterIterator_next, ZEND_ACC_PUBLIC)
494 	ZEND_FE_END
495 };
496 
497 
498 static const zend_function_entry class_RecursiveFilterIterator_methods[] = {
499 	ZEND_ME(RecursiveFilterIterator, __construct, arginfo_class_RecursiveFilterIterator___construct, ZEND_ACC_PUBLIC)
500 	ZEND_ME(RecursiveFilterIterator, hasChildren, arginfo_class_RecursiveFilterIterator_hasChildren, ZEND_ACC_PUBLIC)
501 	ZEND_ME(RecursiveFilterIterator, getChildren, arginfo_class_RecursiveFilterIterator_getChildren, ZEND_ACC_PUBLIC)
502 	ZEND_FE_END
503 };
504 
505 
506 static const zend_function_entry class_ParentIterator_methods[] = {
507 	ZEND_ME(ParentIterator, __construct, arginfo_class_ParentIterator___construct, ZEND_ACC_PUBLIC)
508 	ZEND_MALIAS(RecursiveFilterIterator, accept, hasChildren, arginfo_class_ParentIterator_accept, ZEND_ACC_PUBLIC)
509 	ZEND_FE_END
510 };
511 
512 
513 static const zend_function_entry class_SeekableIterator_methods[] = {
514 	ZEND_ABSTRACT_ME_WITH_FLAGS(SeekableIterator, seek, arginfo_class_SeekableIterator_seek, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT)
515 	ZEND_FE_END
516 };
517 
518 
519 static const zend_function_entry class_LimitIterator_methods[] = {
520 	ZEND_ME(LimitIterator, __construct, arginfo_class_LimitIterator___construct, ZEND_ACC_PUBLIC)
521 	ZEND_ME(LimitIterator, rewind, arginfo_class_LimitIterator_rewind, ZEND_ACC_PUBLIC)
522 	ZEND_ME(LimitIterator, valid, arginfo_class_LimitIterator_valid, ZEND_ACC_PUBLIC)
523 	ZEND_ME(LimitIterator, next, arginfo_class_LimitIterator_next, ZEND_ACC_PUBLIC)
524 	ZEND_ME(LimitIterator, seek, arginfo_class_LimitIterator_seek, ZEND_ACC_PUBLIC)
525 	ZEND_ME(LimitIterator, getPosition, arginfo_class_LimitIterator_getPosition, ZEND_ACC_PUBLIC)
526 	ZEND_FE_END
527 };
528 
529 
530 static const zend_function_entry class_CachingIterator_methods[] = {
531 	ZEND_ME(CachingIterator, __construct, arginfo_class_CachingIterator___construct, ZEND_ACC_PUBLIC)
532 	ZEND_ME(CachingIterator, rewind, arginfo_class_CachingIterator_rewind, ZEND_ACC_PUBLIC)
533 	ZEND_ME(CachingIterator, valid, arginfo_class_CachingIterator_valid, ZEND_ACC_PUBLIC)
534 	ZEND_ME(CachingIterator, next, arginfo_class_CachingIterator_next, ZEND_ACC_PUBLIC)
535 	ZEND_ME(CachingIterator, hasNext, arginfo_class_CachingIterator_hasNext, ZEND_ACC_PUBLIC)
536 	ZEND_ME(CachingIterator, __toString, arginfo_class_CachingIterator___toString, ZEND_ACC_PUBLIC)
537 	ZEND_ME(CachingIterator, getFlags, arginfo_class_CachingIterator_getFlags, ZEND_ACC_PUBLIC)
538 	ZEND_ME(CachingIterator, setFlags, arginfo_class_CachingIterator_setFlags, ZEND_ACC_PUBLIC)
539 	ZEND_ME(CachingIterator, offsetGet, arginfo_class_CachingIterator_offsetGet, ZEND_ACC_PUBLIC)
540 	ZEND_ME(CachingIterator, offsetSet, arginfo_class_CachingIterator_offsetSet, ZEND_ACC_PUBLIC)
541 	ZEND_ME(CachingIterator, offsetUnset, arginfo_class_CachingIterator_offsetUnset, ZEND_ACC_PUBLIC)
542 	ZEND_ME(CachingIterator, offsetExists, arginfo_class_CachingIterator_offsetExists, ZEND_ACC_PUBLIC)
543 	ZEND_ME(CachingIterator, getCache, arginfo_class_CachingIterator_getCache, ZEND_ACC_PUBLIC)
544 	ZEND_ME(CachingIterator, count, arginfo_class_CachingIterator_count, ZEND_ACC_PUBLIC)
545 	ZEND_FE_END
546 };
547 
548 
549 static const zend_function_entry class_RecursiveCachingIterator_methods[] = {
550 	ZEND_ME(RecursiveCachingIterator, __construct, arginfo_class_RecursiveCachingIterator___construct, ZEND_ACC_PUBLIC)
551 	ZEND_ME(RecursiveCachingIterator, hasChildren, arginfo_class_RecursiveCachingIterator_hasChildren, ZEND_ACC_PUBLIC)
552 	ZEND_ME(RecursiveCachingIterator, getChildren, arginfo_class_RecursiveCachingIterator_getChildren, ZEND_ACC_PUBLIC)
553 	ZEND_FE_END
554 };
555 
556 
557 static const zend_function_entry class_NoRewindIterator_methods[] = {
558 	ZEND_ME(NoRewindIterator, __construct, arginfo_class_NoRewindIterator___construct, ZEND_ACC_PUBLIC)
559 	ZEND_ME(NoRewindIterator, rewind, arginfo_class_NoRewindIterator_rewind, ZEND_ACC_PUBLIC)
560 	ZEND_ME(NoRewindIterator, valid, arginfo_class_NoRewindIterator_valid, ZEND_ACC_PUBLIC)
561 	ZEND_ME(NoRewindIterator, key, arginfo_class_NoRewindIterator_key, ZEND_ACC_PUBLIC)
562 	ZEND_ME(NoRewindIterator, current, arginfo_class_NoRewindIterator_current, ZEND_ACC_PUBLIC)
563 	ZEND_ME(NoRewindIterator, next, arginfo_class_NoRewindIterator_next, ZEND_ACC_PUBLIC)
564 	ZEND_FE_END
565 };
566 
567 
568 static const zend_function_entry class_AppendIterator_methods[] = {
569 	ZEND_ME(AppendIterator, __construct, arginfo_class_AppendIterator___construct, ZEND_ACC_PUBLIC)
570 	ZEND_ME(AppendIterator, append, arginfo_class_AppendIterator_append, ZEND_ACC_PUBLIC)
571 	ZEND_ME(AppendIterator, rewind, arginfo_class_AppendIterator_rewind, ZEND_ACC_PUBLIC)
572 	ZEND_ME(AppendIterator, valid, arginfo_class_AppendIterator_valid, ZEND_ACC_PUBLIC)
573 	ZEND_ME(AppendIterator, current, arginfo_class_AppendIterator_current, ZEND_ACC_PUBLIC)
574 	ZEND_ME(AppendIterator, next, arginfo_class_AppendIterator_next, ZEND_ACC_PUBLIC)
575 	ZEND_ME(AppendIterator, getIteratorIndex, arginfo_class_AppendIterator_getIteratorIndex, ZEND_ACC_PUBLIC)
576 	ZEND_ME(AppendIterator, getArrayIterator, arginfo_class_AppendIterator_getArrayIterator, ZEND_ACC_PUBLIC)
577 	ZEND_FE_END
578 };
579 
580 
581 static const zend_function_entry class_InfiniteIterator_methods[] = {
582 	ZEND_ME(InfiniteIterator, __construct, arginfo_class_InfiniteIterator___construct, ZEND_ACC_PUBLIC)
583 	ZEND_ME(InfiniteIterator, next, arginfo_class_InfiniteIterator_next, ZEND_ACC_PUBLIC)
584 	ZEND_FE_END
585 };
586 
587 
588 static const zend_function_entry class_RegexIterator_methods[] = {
589 	ZEND_ME(RegexIterator, __construct, arginfo_class_RegexIterator___construct, ZEND_ACC_PUBLIC)
590 	ZEND_ME(RegexIterator, accept, arginfo_class_RegexIterator_accept, ZEND_ACC_PUBLIC)
591 	ZEND_ME(RegexIterator, getMode, arginfo_class_RegexIterator_getMode, ZEND_ACC_PUBLIC)
592 	ZEND_ME(RegexIterator, setMode, arginfo_class_RegexIterator_setMode, ZEND_ACC_PUBLIC)
593 	ZEND_ME(RegexIterator, getFlags, arginfo_class_RegexIterator_getFlags, ZEND_ACC_PUBLIC)
594 	ZEND_ME(RegexIterator, setFlags, arginfo_class_RegexIterator_setFlags, ZEND_ACC_PUBLIC)
595 	ZEND_ME(RegexIterator, getRegex, arginfo_class_RegexIterator_getRegex, ZEND_ACC_PUBLIC)
596 	ZEND_ME(RegexIterator, getPregFlags, arginfo_class_RegexIterator_getPregFlags, ZEND_ACC_PUBLIC)
597 	ZEND_ME(RegexIterator, setPregFlags, arginfo_class_RegexIterator_setPregFlags, ZEND_ACC_PUBLIC)
598 	ZEND_FE_END
599 };
600 
601 
602 static const zend_function_entry class_RecursiveRegexIterator_methods[] = {
603 	ZEND_ME(RecursiveRegexIterator, __construct, arginfo_class_RecursiveRegexIterator___construct, ZEND_ACC_PUBLIC)
604 	ZEND_ME(RecursiveRegexIterator, accept, arginfo_class_RecursiveRegexIterator_accept, ZEND_ACC_PUBLIC)
605 	ZEND_MALIAS(RecursiveFilterIterator, hasChildren, hasChildren, arginfo_class_RecursiveRegexIterator_hasChildren, ZEND_ACC_PUBLIC)
606 	ZEND_ME(RecursiveRegexIterator, getChildren, arginfo_class_RecursiveRegexIterator_getChildren, ZEND_ACC_PUBLIC)
607 	ZEND_FE_END
608 };
609 
610 
611 static const zend_function_entry class_RecursiveTreeIterator_methods[] = {
612 	ZEND_ME(RecursiveTreeIterator, __construct, arginfo_class_RecursiveTreeIterator___construct, ZEND_ACC_PUBLIC)
613 	ZEND_ME(RecursiveTreeIterator, key, arginfo_class_RecursiveTreeIterator_key, ZEND_ACC_PUBLIC)
614 	ZEND_ME(RecursiveTreeIterator, current, arginfo_class_RecursiveTreeIterator_current, ZEND_ACC_PUBLIC)
615 	ZEND_ME(RecursiveTreeIterator, getPrefix, arginfo_class_RecursiveTreeIterator_getPrefix, ZEND_ACC_PUBLIC)
616 	ZEND_ME(RecursiveTreeIterator, setPostfix, arginfo_class_RecursiveTreeIterator_setPostfix, ZEND_ACC_PUBLIC)
617 	ZEND_ME(RecursiveTreeIterator, setPrefixPart, arginfo_class_RecursiveTreeIterator_setPrefixPart, ZEND_ACC_PUBLIC)
618 	ZEND_ME(RecursiveTreeIterator, getEntry, arginfo_class_RecursiveTreeIterator_getEntry, ZEND_ACC_PUBLIC)
619 	ZEND_ME(RecursiveTreeIterator, getPostfix, arginfo_class_RecursiveTreeIterator_getPostfix, ZEND_ACC_PUBLIC)
620 	ZEND_FE_END
621 };
622 
register_class_EmptyIterator(zend_class_entry * class_entry_Iterator)623 static zend_class_entry *register_class_EmptyIterator(zend_class_entry *class_entry_Iterator)
624 {
625 	zend_class_entry ce, *class_entry;
626 
627 	INIT_CLASS_ENTRY(ce, "EmptyIterator", class_EmptyIterator_methods);
628 	class_entry = zend_register_internal_class_ex(&ce, NULL);
629 	zend_class_implements(class_entry, 1, class_entry_Iterator);
630 
631 	return class_entry;
632 }
633 
register_class_CallbackFilterIterator(zend_class_entry * class_entry_FilterIterator)634 static zend_class_entry *register_class_CallbackFilterIterator(zend_class_entry *class_entry_FilterIterator)
635 {
636 	zend_class_entry ce, *class_entry;
637 
638 	INIT_CLASS_ENTRY(ce, "CallbackFilterIterator", class_CallbackFilterIterator_methods);
639 	class_entry = zend_register_internal_class_ex(&ce, class_entry_FilterIterator);
640 
641 	return class_entry;
642 }
643 
register_class_RecursiveCallbackFilterIterator(zend_class_entry * class_entry_CallbackFilterIterator,zend_class_entry * class_entry_RecursiveIterator)644 static zend_class_entry *register_class_RecursiveCallbackFilterIterator(zend_class_entry *class_entry_CallbackFilterIterator, zend_class_entry *class_entry_RecursiveIterator)
645 {
646 	zend_class_entry ce, *class_entry;
647 
648 	INIT_CLASS_ENTRY(ce, "RecursiveCallbackFilterIterator", class_RecursiveCallbackFilterIterator_methods);
649 	class_entry = zend_register_internal_class_ex(&ce, class_entry_CallbackFilterIterator);
650 	zend_class_implements(class_entry, 1, class_entry_RecursiveIterator);
651 
652 	return class_entry;
653 }
654 
register_class_RecursiveIterator(zend_class_entry * class_entry_Iterator)655 static zend_class_entry *register_class_RecursiveIterator(zend_class_entry *class_entry_Iterator)
656 {
657 	zend_class_entry ce, *class_entry;
658 
659 	INIT_CLASS_ENTRY(ce, "RecursiveIterator", class_RecursiveIterator_methods);
660 	class_entry = zend_register_internal_interface(&ce);
661 	zend_class_implements(class_entry, 1, class_entry_Iterator);
662 
663 	return class_entry;
664 }
665 
register_class_RecursiveIteratorIterator(zend_class_entry * class_entry_OuterIterator)666 static zend_class_entry *register_class_RecursiveIteratorIterator(zend_class_entry *class_entry_OuterIterator)
667 {
668 	zend_class_entry ce, *class_entry;
669 
670 	INIT_CLASS_ENTRY(ce, "RecursiveIteratorIterator", class_RecursiveIteratorIterator_methods);
671 	class_entry = zend_register_internal_class_ex(&ce, NULL);
672 	zend_class_implements(class_entry, 1, class_entry_OuterIterator);
673 
674 	return class_entry;
675 }
676 
register_class_OuterIterator(zend_class_entry * class_entry_Iterator)677 static zend_class_entry *register_class_OuterIterator(zend_class_entry *class_entry_Iterator)
678 {
679 	zend_class_entry ce, *class_entry;
680 
681 	INIT_CLASS_ENTRY(ce, "OuterIterator", class_OuterIterator_methods);
682 	class_entry = zend_register_internal_interface(&ce);
683 	zend_class_implements(class_entry, 1, class_entry_Iterator);
684 
685 	return class_entry;
686 }
687 
register_class_IteratorIterator(zend_class_entry * class_entry_OuterIterator)688 static zend_class_entry *register_class_IteratorIterator(zend_class_entry *class_entry_OuterIterator)
689 {
690 	zend_class_entry ce, *class_entry;
691 
692 	INIT_CLASS_ENTRY(ce, "IteratorIterator", class_IteratorIterator_methods);
693 	class_entry = zend_register_internal_class_ex(&ce, NULL);
694 	zend_class_implements(class_entry, 1, class_entry_OuterIterator);
695 
696 	return class_entry;
697 }
698 
register_class_FilterIterator(zend_class_entry * class_entry_IteratorIterator)699 static zend_class_entry *register_class_FilterIterator(zend_class_entry *class_entry_IteratorIterator)
700 {
701 	zend_class_entry ce, *class_entry;
702 
703 	INIT_CLASS_ENTRY(ce, "FilterIterator", class_FilterIterator_methods);
704 	class_entry = zend_register_internal_class_ex(&ce, class_entry_IteratorIterator);
705 	class_entry->ce_flags |= ZEND_ACC_ABSTRACT;
706 
707 	return class_entry;
708 }
709 
register_class_RecursiveFilterIterator(zend_class_entry * class_entry_FilterIterator,zend_class_entry * class_entry_RecursiveIterator)710 static zend_class_entry *register_class_RecursiveFilterIterator(zend_class_entry *class_entry_FilterIterator, zend_class_entry *class_entry_RecursiveIterator)
711 {
712 	zend_class_entry ce, *class_entry;
713 
714 	INIT_CLASS_ENTRY(ce, "RecursiveFilterIterator", class_RecursiveFilterIterator_methods);
715 	class_entry = zend_register_internal_class_ex(&ce, class_entry_FilterIterator);
716 	class_entry->ce_flags |= ZEND_ACC_ABSTRACT;
717 	zend_class_implements(class_entry, 1, class_entry_RecursiveIterator);
718 
719 	return class_entry;
720 }
721 
register_class_ParentIterator(zend_class_entry * class_entry_RecursiveFilterIterator)722 static zend_class_entry *register_class_ParentIterator(zend_class_entry *class_entry_RecursiveFilterIterator)
723 {
724 	zend_class_entry ce, *class_entry;
725 
726 	INIT_CLASS_ENTRY(ce, "ParentIterator", class_ParentIterator_methods);
727 	class_entry = zend_register_internal_class_ex(&ce, class_entry_RecursiveFilterIterator);
728 
729 	return class_entry;
730 }
731 
register_class_SeekableIterator(zend_class_entry * class_entry_Iterator)732 static zend_class_entry *register_class_SeekableIterator(zend_class_entry *class_entry_Iterator)
733 {
734 	zend_class_entry ce, *class_entry;
735 
736 	INIT_CLASS_ENTRY(ce, "SeekableIterator", class_SeekableIterator_methods);
737 	class_entry = zend_register_internal_interface(&ce);
738 	zend_class_implements(class_entry, 1, class_entry_Iterator);
739 
740 	return class_entry;
741 }
742 
register_class_LimitIterator(zend_class_entry * class_entry_IteratorIterator)743 static zend_class_entry *register_class_LimitIterator(zend_class_entry *class_entry_IteratorIterator)
744 {
745 	zend_class_entry ce, *class_entry;
746 
747 	INIT_CLASS_ENTRY(ce, "LimitIterator", class_LimitIterator_methods);
748 	class_entry = zend_register_internal_class_ex(&ce, class_entry_IteratorIterator);
749 
750 	return class_entry;
751 }
752 
register_class_CachingIterator(zend_class_entry * class_entry_IteratorIterator,zend_class_entry * class_entry_ArrayAccess,zend_class_entry * class_entry_Countable,zend_class_entry * class_entry_Stringable)753 static zend_class_entry *register_class_CachingIterator(zend_class_entry *class_entry_IteratorIterator, zend_class_entry *class_entry_ArrayAccess, zend_class_entry *class_entry_Countable, zend_class_entry *class_entry_Stringable)
754 {
755 	zend_class_entry ce, *class_entry;
756 
757 	INIT_CLASS_ENTRY(ce, "CachingIterator", class_CachingIterator_methods);
758 	class_entry = zend_register_internal_class_ex(&ce, class_entry_IteratorIterator);
759 	zend_class_implements(class_entry, 3, class_entry_ArrayAccess, class_entry_Countable, class_entry_Stringable);
760 
761 	return class_entry;
762 }
763 
register_class_RecursiveCachingIterator(zend_class_entry * class_entry_CachingIterator,zend_class_entry * class_entry_RecursiveIterator)764 static zend_class_entry *register_class_RecursiveCachingIterator(zend_class_entry *class_entry_CachingIterator, zend_class_entry *class_entry_RecursiveIterator)
765 {
766 	zend_class_entry ce, *class_entry;
767 
768 	INIT_CLASS_ENTRY(ce, "RecursiveCachingIterator", class_RecursiveCachingIterator_methods);
769 	class_entry = zend_register_internal_class_ex(&ce, class_entry_CachingIterator);
770 	zend_class_implements(class_entry, 1, class_entry_RecursiveIterator);
771 
772 	return class_entry;
773 }
774 
register_class_NoRewindIterator(zend_class_entry * class_entry_IteratorIterator)775 static zend_class_entry *register_class_NoRewindIterator(zend_class_entry *class_entry_IteratorIterator)
776 {
777 	zend_class_entry ce, *class_entry;
778 
779 	INIT_CLASS_ENTRY(ce, "NoRewindIterator", class_NoRewindIterator_methods);
780 	class_entry = zend_register_internal_class_ex(&ce, class_entry_IteratorIterator);
781 
782 	return class_entry;
783 }
784 
register_class_AppendIterator(zend_class_entry * class_entry_IteratorIterator)785 static zend_class_entry *register_class_AppendIterator(zend_class_entry *class_entry_IteratorIterator)
786 {
787 	zend_class_entry ce, *class_entry;
788 
789 	INIT_CLASS_ENTRY(ce, "AppendIterator", class_AppendIterator_methods);
790 	class_entry = zend_register_internal_class_ex(&ce, class_entry_IteratorIterator);
791 
792 	return class_entry;
793 }
794 
register_class_InfiniteIterator(zend_class_entry * class_entry_IteratorIterator)795 static zend_class_entry *register_class_InfiniteIterator(zend_class_entry *class_entry_IteratorIterator)
796 {
797 	zend_class_entry ce, *class_entry;
798 
799 	INIT_CLASS_ENTRY(ce, "InfiniteIterator", class_InfiniteIterator_methods);
800 	class_entry = zend_register_internal_class_ex(&ce, class_entry_IteratorIterator);
801 
802 	return class_entry;
803 }
804 
register_class_RegexIterator(zend_class_entry * class_entry_FilterIterator)805 static zend_class_entry *register_class_RegexIterator(zend_class_entry *class_entry_FilterIterator)
806 {
807 	zend_class_entry ce, *class_entry;
808 
809 	INIT_CLASS_ENTRY(ce, "RegexIterator", class_RegexIterator_methods);
810 	class_entry = zend_register_internal_class_ex(&ce, class_entry_FilterIterator);
811 
812 	zval property_replacement_default_value;
813 	ZVAL_NULL(&property_replacement_default_value);
814 	zend_string *property_replacement_name = zend_string_init("replacement", sizeof("replacement") - 1, 1);
815 	zend_declare_typed_property(class_entry, property_replacement_name, &property_replacement_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
816 	zend_string_release(property_replacement_name);
817 
818 	return class_entry;
819 }
820 
register_class_RecursiveRegexIterator(zend_class_entry * class_entry_RegexIterator,zend_class_entry * class_entry_RecursiveIterator)821 static zend_class_entry *register_class_RecursiveRegexIterator(zend_class_entry *class_entry_RegexIterator, zend_class_entry *class_entry_RecursiveIterator)
822 {
823 	zend_class_entry ce, *class_entry;
824 
825 	INIT_CLASS_ENTRY(ce, "RecursiveRegexIterator", class_RecursiveRegexIterator_methods);
826 	class_entry = zend_register_internal_class_ex(&ce, class_entry_RegexIterator);
827 	zend_class_implements(class_entry, 1, class_entry_RecursiveIterator);
828 
829 	return class_entry;
830 }
831 
register_class_RecursiveTreeIterator(zend_class_entry * class_entry_RecursiveIteratorIterator)832 static zend_class_entry *register_class_RecursiveTreeIterator(zend_class_entry *class_entry_RecursiveIteratorIterator)
833 {
834 	zend_class_entry ce, *class_entry;
835 
836 	INIT_CLASS_ENTRY(ce, "RecursiveTreeIterator", class_RecursiveTreeIterator_methods);
837 	class_entry = zend_register_internal_class_ex(&ce, class_entry_RecursiveIteratorIterator);
838 
839 	return class_entry;
840 }
841