Clone FilterIterator/IteratorIterator?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I want to use an Iterator that returns an the inner iterator, with an
additional FilterIterator applied.
The returned iterator should be separated from my inner iterator, to
avoid errors like 'ArrayIterator::next(): Array was modified outside'.
To avoid this, I think it might be the best to simply clone the inner iterator.

Unfortunatly, if the innerIterator is an FilterIterator, so cloning
will throw an exception:
    PHP Fatal error:  Call to undefined method ArrayIterator::getIterator()

Is there a good reason why i can't clone a FilterIterator?

Testcase:
<?php

class MyIterator extends FilterIterator {
  public function accept() {
    return true;
  }
}

$arr = new ArrayObject(array());
$it1 = new MyIterator($arr->getIterator());
$it2 = $it1->getIterator();

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php





[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux