QueryRange returns all intervals overlapping with [start, end].
(start, end int64, fn func(ast.Interval) error)
| 155 | |
| 156 | // QueryRange returns all intervals overlapping with [start, end]. |
| 157 | func (t *IntervalTree) QueryRange(start, end int64, fn func(ast.Interval) error) error { |
| 158 | return t.queryRange(t.root, start, end, fn) |
| 159 | } |
| 160 | |
| 161 | // queryRange recursively queries for overlapping intervals. |
| 162 | // Two intervals [s1, e1] and [s2, e2] overlap if s1 <= e2 AND s2 <= e1. |