Total Complexity | 5 |
Total Lines | 46 |
Duplicated Lines | 0 % |
Coverage | 100% |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | <?php |
||
25 | final class PrioritizedList implements \IteratorAggregate |
||
26 | { |
||
27 | /** |
||
28 | * @var array<int, array<mixed>> |
||
29 | * @phpstan-var array<int, array<T>> |
||
30 | */ |
||
31 | private $list = []; |
||
32 | |||
33 | /** |
||
34 | * @var \Traversable<mixed>|null |
||
35 | * @phpstan-var \Traversable<T>|null |
||
36 | */ |
||
37 | private $optimized; |
||
38 | |||
39 | /** |
||
40 | * @param mixed $item |
||
41 | * |
||
42 | * @phpstan-param T $item |
||
43 | */ |
||
44 | 3099 | public function add($item, int $priority): void |
|
45 | { |
||
46 | 3099 | $this->list[$priority][] = $item; |
|
47 | 3099 | $this->optimized = null; |
|
48 | 3099 | } |
|
49 | |||
50 | /** |
||
51 | * @return \Traversable<int, mixed> |
||
52 | * |
||
53 | * @phpstan-return \Traversable<int, T> |
||
54 | */ |
||
55 | 3069 | public function getIterator(): \Traversable |
|
71 | } |
||
72 | } |
||
73 |