Beispiel #1
0
 protected function doFetch()
 {
     while ((list($innerKey, $innerValue) = $this->innerValuesIterator->fetch()) === null) {
         if ((list($this->outerKey, $this->outerValue) = $this->outerIterator->fetch()) === null) {
             return null;
         }
         $this->innerValuesIterator = $this->getInnerValuesIterator($this->outerKey, $this->outerValue);
         $this->innerValuesIterator->rewind();
     }
     $projectionFunction = $this->projectionFunction;
     return [$this->count++, $projectionFunction($this->outerValue, $innerValue, $this->outerKey, $innerKey)];
 }
Beispiel #2
0
 public function __construct(IIterator $values = null)
 {
     if ($values !== null) {
         $values->rewind();
         while ($element = $values->fetch()) {
             $this->addRef($element[1]);
         }
     }
 }
Beispiel #3
0
 protected function doRewind()
 {
     $this->iterator->rewind();
 }