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