1 | <?php |
||
8 | class RangeFiles implements \IteratorAggregate, \Countable |
||
9 | { |
||
10 | /** |
||
11 | * @var RangeFile[]|\SplObjectStorage |
||
12 | */ |
||
13 | private $map; |
||
14 | |||
15 | /** |
||
16 | * @var IntervalTree |
||
17 | */ |
||
18 | private $tree; |
||
19 | |||
20 | /** |
||
21 | * @param RangeFile[] $files |
||
22 | */ |
||
23 | public function __construct(array $files = []) |
||
36 | |||
37 | /** |
||
38 | * @param RangeFile $file |
||
39 | * @return RangeFile |
||
40 | */ |
||
41 | public function add(RangeFile $file) |
||
48 | |||
49 | /** |
||
50 | * @param int $value |
||
51 | * @return RangeFile|null |
||
52 | * @throws UnexpectedValueException |
||
53 | */ |
||
54 | public function getForValue($value) |
||
71 | |||
72 | /** |
||
73 | * {@inheritDoc} |
||
74 | */ |
||
75 | public function getIterator() |
||
79 | |||
80 | /** |
||
81 | * @return RangeFile[] |
||
82 | */ |
||
83 | private function getAllFiles() |
||
95 | |||
96 | /** |
||
97 | * {@inheritDoc} |
||
98 | */ |
||
99 | public function count() |
||
103 | } |