Retrieves the intervals that intersect the given interval.
Signature:
insection.getIntervals() => insection.getIntervals('(', min, max, ')');
insection.getIntervals(p) => insection.getIntervals('[', p, p, ']');
insection.getIntervals(start, end) => insection.getIntervals('[', start, end, ']');
insection.getIntervals('[', start, end, ']') =>
insection.getIntervals(Insection.interval('[', start, end, ']'));
insection.getIntervals('[', start, end, ')') =>
insection.getIntervals(Insection.interval('[', start, end, ')'));
insection.getIntervals('(', start, end, ']') =>
insection.getIntervals(Insection.interval('(', start, end, ']'));
insection.getIntervals('(', start, end, ')') =>
insection.getIntervals(Insection.interval('(', start, end, ')'));
insection.getIntervals(interval);
Time complexity: O(log(n*m))
where n
is the number of intervals in
the data structure and m
is the number of found intervals.
Example:
var insection = new Insection();
insection.add(0, 4, 'foo');
insection.add('(', 2, 6, ']', 'bar');
insection.add('[', 2, Infinity, ')', 'baz');
insection.add('[', 2, Infinity, ')', 'qux');
expect(insection.getIntervals(1, 5).map(String).sort(), 'to equal', [
'(2;6]',
'[0;4]',
'[2;Infinity)',
'[2;Infinity)'
]);
expect(insection.getIntervals(0, 2).map(String).sort(), 'to equal', [
'[0;4]',
'[2;Infinity)',
'[2;Infinity)'
]);
expect(insection.getIntervals('(', -Infinity, 2, ')').map(String).sort(), 'to equal', ['[0;4]']);
expect(insection.getIntervals(2).map(String).sort(), 'to equal', [
'[0;4]',
'[2;Infinity)',
'[2;Infinity)'
]);
expect(insection.getIntervals().map(String).sort(), 'to equal', [
'(2;6]',
'[0;4]',
'[2;Infinity)',
'[2;Infinity)'
]);