1: <?php
2:
3: /**
4: * This file is part of the Nette Framework (http://nette.org)
5: *
6: * Copyright (c) 2004 David Grudl (http://davidgrudl.com)
7: *
8: * For the full copyright and license information, please view
9: * the file license.txt that was distributed with this source code.
10: */
11:
12: namespace Nette\Iterators;
13:
14: use Nette;
15:
16:
17: /**
18: * Callback iterator filter.
19: *
20: * @author David Grudl
21: */
22: class Filter extends \FilterIterator
23: {
24: /** @var callable */
25: private $callback;
26:
27:
28: public function __construct(\Iterator $iterator, $callback)
29: {
30: parent::__construct($iterator);
31: $this->callback = new Nette\Callback($callback);
32: }
33:
34:
35: public function accept()
36: {
37: return $this->callback->invoke($this);
38: }
39:
40: }
41: