Function textspan::remove_span_overlaps_idx[][src]

pub fn remove_span_overlaps_idx(spans: &[Span]) -> Vec<usize>

Remove overlapping spans from given spans, and returns remained span indices. First, longest spans are remained - if the two spans are overlapped, the first span will be remained. If the two spans are overlapped and their start positions are same, the longer span will be remained.

Example

use textspan::remove_span_overlaps_idx;
let spans = [(0, 2), (0, 3), (2, 4), (5, 7)];
let ret = remove_span_overlaps_idx(&spans);
assert_eq!(ret, [1, 3]);