Commit Graph

77 Commits

Author SHA1 Message Date
Dmitry Stogov
e1627558ed Unicode support 2005-08-12 13:09:58 +00:00
Dmitry Stogov
21c1109e0c Unicode support 2005-08-12 11:29:33 +00:00
Andrei Zmievski
264cec8be6 Unicode support. 2005-08-11 23:36:07 +00:00
Marcus Boerger
9e38d04a7c - Add RecursiveFilterIterator
- Derive ParentIterator from RecursiveIterator
# Actually brought up by a user. It is of course better to filter first and
# do the recursion only for accepted values. Otherwise you would iterate
# children and possibly recurse into them just to ignore them later anyway.
2005-08-10 19:48:48 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
Marcus Boerger
0b34e041e3 - Before we later run into BC trouble we split flags into two params mode
and flags now before branching for 5.1.
2005-07-28 21:09:02 +00:00
Marcus Boerger
a935b06236 - Fix issues with iterators and excpetions
# update documentation
#
# In 5.2 we need to implement an event handler onException() to be invoked
# on exceptions during getChildren() calls. Its default implementation
# would simply rethrow the exception if the flag is not set and delete if
# if it was set. To do so the exceptions refcount needs to be increased
# before calling zend_clear_exception() to keep the exception alive but
# clear the control information.
#
# As a side note this is alos the easy solution to allow multi exception
# handling: Simply clear the engine's exception info and add a property
# called $previousException to the base exception and assign it from the
# already pending one.
2005-07-27 22:19:01 +00:00
Dmitry Stogov
aedbdb087d Allowed return by refrence from internal functions 2005-06-16 14:56:13 +00:00
Marcus Boerger
626d781afd - Execute both RecursiveIteratorIterator::beginChildren() and endChildren()
on the same level (while the actual child is available).
2005-05-14 16:40:58 +00:00
Marcus Boerger
530917b463 - Make iterator_to_array() accept Traversable 2005-03-31 21:49:47 +00:00
Marcus Boerger
f9de3fd02b - Allow to hook into RecursiveIteratorIterator's child handling
- Better=faster function caching for RecursiveIteratorIterator
- Check for exceptions and fix check for illegal return values
- Add UnexpectedValueException
- Add docu
2005-03-12 23:03:33 +00:00
Marcus Boerger
16f0329a52 - Fix problem with exception in other methods, too 2005-03-06 23:07:43 +00:00
Marcus Boerger
0d1e43711a - Fix problem with exceptions in hasChildren calls 2005-03-06 22:57:05 +00:00
Marcus Boerger
76c5d53993 - Need to store class entry 2005-03-01 10:05:12 +00:00
Marcus Boerger
5f1c3f4a7e - Allow to convert traversable into Iterator 2005-02-23 01:03:16 +00:00
Marcus Boerger
3c36e73b95 - bugfix 31348 2005-01-24 20:21:11 +00:00
Antony Dovgal
6528b1b0b4 more typos 2004-12-29 16:11:42 +00:00
Antony Dovgal
0460f73db2 MFB: fix typos 2004-12-29 13:53:40 +00:00
Marcus Boerger
9c0f5e8887 - Use appropriate exception class where possible 2004-11-11 19:36:27 +00:00
Marcus Boerger
5dbb0aaa24 - Drop debug message 2004-11-11 19:31:27 +00:00
Marcus Boerger
31165806f8 - Simplify construction of RecursiveIteratorIterator 2004-11-08 13:44:34 +00:00
Frank M. Kromann
6a15a50d35 oops missed a couple!
Add termination block to function table. This will allow the engine to stop registreting functions at the end.
This fixes the - duplicate name - warning
2004-11-03 01:20:16 +00:00
Frank M. Kromann
93da44811e Add termination block to function table. This will allow the engine to stop registreting functions at the end.
This fixes the - duplicate name - warning
2004-11-03 01:16:10 +00:00
Marcus Boerger
e1dfbfc695 - Don't call beginChildren/endChildren if they don't do anything 2004-11-01 23:16:43 +00:00
Marcus Boerger
533e39ecf7 - Cache function lookup 2004-11-01 23:02:10 +00:00
Marcus Boerger
3b7e24cab2 - Add RecursiveIteratorIterator::beginChildren(), endChildren() 2004-11-01 22:54:12 +00:00
Marcus Boerger
2ce7bcd742 - Allow direct access to spl class entries (SPL cannot be build shared) 2004-11-01 20:57:23 +00:00
Marcus Boerger
bd40510b62 - Two new exceptions
- Make use of new exception classes
2004-11-01 17:39:59 +00:00
Marcus Boerger
b9470609ad - Minor fixes
- Implement AppendIterator in C
2004-11-01 00:26:59 +00:00
Marcus Boerger
9626e9859a - Implement EmptyIterator in C 2004-10-31 20:59:39 +00:00
Marcus Boerger
de3a8ea3e1 - Implement InfiniteIterator in C 2004-10-31 19:49:18 +00:00
Marcus Boerger
a872cb0d8d - Aggregate inner iterator for RecursiveIteratorIterator 2004-10-31 19:05:19 +00:00
Marcus Boerger
90012aa3cc - Implement classes IteratorIterator and NoRewindIterator in C 2004-10-31 18:43:00 +00:00
Marcus Boerger
861bad634a - Fix inner iterator aggregation 2004-10-30 19:12:14 +00:00
Marcus Boerger
8bf02ee681 - Fix protos 2004-10-30 10:18:10 +00:00
Marcus Boerger
7c4760d421 - Fix proto 2004-10-30 10:04:37 +00:00
Marcus Boerger
208a97a221 - Implement OuterIterator in C 2004-10-29 20:12:57 +00:00
Marcus Boerger
6349f46e38 - Added iterator_to_array() and iterator_count() 2004-10-07 23:08:19 +00:00
Marcus Boerger
b1326c1c24 - Fix problem when inner constructor isn't called from derived constructor
(foound by david)
2004-07-28 22:53:10 +00:00
Zeev Suraski
846c5a252e Fix typo 2004-05-31 08:58:32 +00:00
Zeev Suraski
e11b518c95 Fix prototype 2004-05-30 17:32:32 +00:00
Marcus Boerger
6882000c53 - Make start and length parameter to Limititerator::__construct optional 2004-05-18 20:39:35 +00:00
Marcus Boerger
a9070ba130 Add protos 2004-05-06 09:01:31 +00:00
Marcus Boerger
11690da164 - Some pretection against out-of-memory situations 2004-04-27 17:12:11 +00:00
Marcus Boerger
7f37b3f651 Fix LimitIterator by using new handler 2004-04-27 15:41:26 +00:00
Marcus Boerger
5b755c40ea Fix several issues
- bugfix #27063
- bugfix #27929
- bugfix #28099
- bugfix #28125
# The amount of code is needed to solve the return by reference problem.
# dual_it and derived also need their own iterator handlers to be able
# to return by reference.
2004-04-25 11:14:11 +00:00
Marcus Boerger
00da44519c Bugfix #27997 2004-04-14 23:26:56 +00:00
Marcus Boerger
42370213f7 Fix toString() issue again 2004-04-08 22:46:43 +00:00
Marcus Boerger
dce131ebcd Add agrument type info 2004-03-28 17:04:11 +00:00
Marcus Boerger
851c254ef8 Fix CachingIterator's ability to cache string conversion results.
Add a test for that.
2004-03-17 19:58:32 +00:00