map2ParallelLists
fun <LEFT : IntervalLike<LEFT>, RIGHT : IntervalLike<RIGHT>, OUT : IntervalLike<OUT>> map2ParallelLists(left: List<LEFT>, right: List<RIGHT>, isLeftSorted: Boolean, isRightSorted: Boolean, op: (LEFT, RIGHT, Interval) -> OUT?): List<OUT>
Low-level routine for performing a binary operation on a pair of parallel lists.
The result is defined as follows: for every object l
in left and every object r
in right, if their intervals overlap on an intersection i
, the operation will be invoked with (l, r, i)
. If the output of the operation is not null
, it will be included in the resulting timeline.
Always sorts both lists before performing the operation.
Parameters
left
the left operand list
right
the right operand list
op
a binary operation between the payload types of the operand lists, which also accepts an intersection interval