Pinq\Iterators\Standard\IteratorScheme::adapter PHP Method

adapter() public static method

public static adapter ( Traversable $iterator ) : Pinq\Iterators\Standard\IIterator
$iterator Traversable
return Pinq\Iterators\Standard\IIterator
    public static function adapter(\Traversable $iterator)
    {
        if ($iterator instanceof IIterator) {
            return $iterator;
        } elseif ($iterator instanceof IGenerator) {
            return new IGeneratorAdapter($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 = IteratorScheme::adapter($elements);
     $elements->rewind();
     while ($element = $elements->fetch()) {
         $this->setRef($element[0], $element[1]);
     }
 }
All Usage Examples Of Pinq\Iterators\Standard\IteratorScheme::adapter