/** * @param array|\Traversable $enumerable * @param callable $comparator */ public function __construct($enumerable, callable $comparator = null) { parent::__construct($enumerable); $this->comparator = Comparator::ensure($comparator); $this->sortedIterator = null; }
/** * {@inheritdoc} */ public function getIterator() { return new \CallbackFilterIterator(parent::getIterator(), $this->predicate()); }