insertBy method
Insert element
into the list at the first position where it is less than or equal to the next element
based on order
(Order).
Note: The element is added before an equal element already in the Iterable.
Implementation
Iterable<T> insertBy(Order<T> order, T element) sync* {
var it = iterator;
while (it.moveNext()) {
if (order.compare(it.current, element) < 0) {
yield it.current;
continue;
}
yield element;
do {
yield it.current;
} while (it.moveNext());
return;
}
yield element;
}