oont-contents/plugins/mailpoet/vendor-prefixed/symfony/dependency-injection/Argument/RewindableGenerator.php
2025-02-08 15:10:23 +01:00

25 lines
562 B
PHP

<?php
namespace MailPoetVendor\Symfony\Component\DependencyInjection\Argument;
if (!defined('ABSPATH')) exit;
class RewindableGenerator implements \IteratorAggregate, \Countable
{
private $generator;
private $count;
public function __construct(callable $generator, $count)
{
$this->generator = $generator;
$this->count = $count;
}
public function getIterator() : \Traversable
{
$g = $this->generator;
return $g();
}
public function count() : int
{
if (\is_callable($count = $this->count)) {
$this->count = $count();
}
return $this->count;
}
}