public static getAvailableSchemes ( ) : Pinq\Iterators\IIteratorScheme[] | ||
return | Pinq\Iterators\IIteratorScheme[] |
public static function getAvailableSchemes()
{
if (self::$schemesInPriorityOrder === null) {
if (Generators\GeneratorScheme::compatibleWith(PHP_VERSION)) {
self::$schemesInPriorityOrder[] = new Generators\GeneratorScheme();
}
if (Standard\IteratorScheme::compatibleWith(PHP_VERSION)) {
self::$schemesInPriorityOrder[] = new Standard\IteratorScheme();
}
}
return self::$schemesInPriorityOrder;
}
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; }