Currently the implemented schemes are as follows: - Generators, >= 5.5.0 - Iterators, >= 5.4.0
저자: Elliot Levin (elliotlevin@hotmail.com)
예제 #1
0
 public function __construct(Providers\IQueryProvider $provider, Queries\ISourceInfo $sourceInfo, O\TraversalExpression $queryExpression = null, IIteratorScheme $scheme = null)
 {
     parent::__construct($provider);
     $this->sourceInfo = $sourceInfo;
     $this->expression = $queryExpression ?: O\Expression::value($this);
     $this->scheme = $scheme ?: Iterators\SchemeProvider::getDefault();
 }
예제 #2
0
 public function orderedMaps()
 {
     $orderedMaps = [];
     foreach (\Pinq\Iterators\SchemeProvider::getAvailableSchemes() as $scheme) {
         $orderedMaps[] = [$scheme->createOrderedMap(), $scheme];
     }
     return $orderedMaps;
 }
예제 #3
0
 protected final function implementationsFor(array $data)
 {
     $implementations = [];
     foreach (\Pinq\Iterators\SchemeProvider::getAvailableSchemes() as $scheme) {
         $implementations = array_merge($implementations, [[new \Pinq\Traversable($data, $scheme), $data], [(new \Pinq\Providers\Traversable\Provider(new \Pinq\Traversable($data, $scheme)))->createQueryable(), $data]]);
     }
     return $implementations;
 }
예제 #4
0
 public function schemes()
 {
     $schemes = [];
     foreach (SchemeProvider::getAvailableSchemes() as $scheme) {
         $schemes[] = [$scheme];
     }
     return $schemes;
 }
예제 #5
0
 protected function buildIteratorScheme()
 {
     return Iterators\SchemeProvider::getDefault();
 }
예제 #6
0
 public function __construct($elements = [], IIteratorScheme $scheme = null, Traversable $source = null)
 {
     $this->scheme = $scheme ?: Iterators\SchemeProvider::getDefault();
     $this->source = $source;
     $this->elements = $this->scheme->toIterator($elements);
 }