/** * @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; }
/** * @param callable|mixed $firstSelector * @param callable|mixed $secondSelector * @param callable $comparator */ public function __construct($firstSelector, $secondSelector, callable $comparator = null) { parent::__construct($firstSelector, $secondSelector); $this->comparator = Comparator::ensure($comparator); }