/** * @param array|\Traversable $enumerable * @param callable $equalityComparer * * @return \Cubiche\Core\Enumerable\EnumerableInterface */ public function union($enumerable, callable $equalityComparer = null) { $iterator = new \AppendIterator(); $iterator->append(Enumerable::from($this)->getIterator()); $iterator->append(Enumerable::from($enumerable)->getIterator()); return Enumerable::from($iterator)->distinct($equalityComparer); }
public static function from($source) { return Enumerable::from($source); }
/** * @param array|\Traversable $enumerable */ public function __construct($enumerable) { $this->enumerable = Enumerable::from($enumerable); }
/** * @param int $offset * @param int $length * * @return \Cubiche\Core\Enumerable\EnumerableInterface */ public function slice($offset, $length = null) { return new SlicedEnumerable(Enumerable::from($this), $offset, $length); }