Pinq\Iterators\Generators\GeneratorScheme::adapter PHP Method

adapter() public static method

public static adapter ( Traversable $iterator ) : Pinq\Iterators\Generators\IGenerator
$iterator Traversable
return Pinq\Iterators\Generators\IGenerator
    public static function adapter(\Traversable $iterator)
    {
        if ($iterator instanceof IGenerator) {
            return $iterator;
        } elseif ($iterator instanceof IIterator) {
            return new IIteratorAdapter($iterator);
        } elseif ($iterator instanceof \ArrayIterator) {
            return new ArrayIteratorAdapter($iterator);
        } elseif ($iterator instanceof \IteratorAggregate) {
            return static::adapter($iterator->getIterator());
        } else {
            return new IteratorAdapter($iterator);
        }
    }

Usage Example

Example #1
0
 public function setAll(\Traversable $elements)
 {
     $elements = GeneratorScheme::adapter($elements);
     foreach ($elements as $key => &$value) {
         $this->setRef($key, $value);
     }
 }
All Usage Examples Of Pinq\Iterators\Generators\GeneratorScheme::adapter