count = $count; $this->generator = $generator; } /** * Get an iterator from the generator. * * @return \Traversable */ public function getIterator() : Traversable { return ($this->generator)(); } /** * Get the total number of tagged services. * * @return int */ public function count() : int { if (\is_callable($count = $this->count)) { $this->count = $count(); } return $this->count; } }