svn: /php/php-src/trunk/ NEWS ext/spl/spl_iterators.c ext/spl/spl_iterators.h ext/spl/tests/CallbackFilterIteratorTest-002.phpt
ext/spl/tests/CallbackFilterIteratorTest.phpt ext/spl/tests/RecursiveCallbackFilterIteratorTest.phpt

From: Date: Sun, 27 Mar 2011 20:13:27 +0000
Subject: svn: /php/php-src/trunk/ NEWS ext/spl/spl_iterators.c ext/spl/spl_iterators.h ext/spl/tests/CallbackFilterIteratorTest-002.phpt
ext/spl/tests/CallbackFilterIteratorTest.phpt ext/spl/tests/RecursiveCallbackFilterIteratorTest.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-64761@lists.php.net to get a copy of this message
lbarnaud Sun, 27 Mar 2011 20:13:27 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=309749 Log: Added CallbackFilterIterator and RecursiveCallbackFilterIterator classes [DOC] This is a concrete FilterIterator which takes a callback as constructor parameter, and uses this callback for filtering. This allows to use FilterIterator without extending it. CallbackFilterIterator Example: $it = new ArrayIterator(range(1,100)); $it = new CallbackFilterIterator($it, function($value) { return $value % 2; }); foreach($it as $value) // ... RecursiveCallbackFilterIterator Example: $it = new RecursiveDirectoryIterator("/"); $it = new RecursiveCallbackFilterIterator($it, function($file, $k, $it) { return $it->hasChildren() || $file->getSize() > 1024; }); foreach(new RecursiveIteratorIterator($it) as $file) // ... The callback takes the current value, the current key and the inner iterator as parameters. Changed paths: U php/php-src/trunk/NEWS U php/php-src/trunk/ext/spl/spl_iterators.c U php/php-src/trunk/ext/spl/spl_iterators.h A php/php-src/trunk/ext/spl/tests/CallbackFilterIteratorTest-002.phpt A php/php-src/trunk/ext/spl/tests/CallbackFilterIteratorTest.phpt A php/php-src/trunk/ext/spl/tests/RecursiveCallbackFilterIteratorTest.phpt

Attachment: [text/x-diff] svn-diffs-309749.txt
« previous php.cvs (#64761) next »