#range #merge #overlap #tool

merged_range

rangeset that can merge overlap

1 unstable release

0.1.0 Apr 3, 2023

#1964 in Rust patterns

Download history 113/week @ 2024-01-05 171/week @ 2024-01-12 205/week @ 2024-01-19 161/week @ 2024-01-26 129/week @ 2024-02-02 41/week @ 2024-02-09 149/week @ 2024-02-16 186/week @ 2024-02-23 182/week @ 2024-03-01 163/week @ 2024-03-08 287/week @ 2024-03-15 515/week @ 2024-03-22 236/week @ 2024-03-29 248/week @ 2024-04-05 238/week @ 2024-04-12 186/week @ 2024-04-19

931 downloads per month

Apache-2.0

25KB
555 lines

merged_range

A crate that can merge overlapping ranges

Apache licensed CI

Overview

merged_range is used to query whether the given range is contained in the existing range, if it is contained, return true, otherwise return false. it uses a sorted vector to store ranges. and it can merge the new range with the existing ranges. insert and query time complexity is both O(logn).

Example

add dependency to Cargo.toml

[dependencies]
merged_range = "0.1.0"

then use it in your code

use merged_range::MergedRange;

let mut mr = MergedRange::new();
mr.insert_range(&(1..10));
mr.insert_range(&(5..20));

assert_eq!(mr.contains_range(&(3..15)), true);
assert_eq!(mr.contains_range(&(10..21)), false);

License

This project is licensed under the MIT license.

Dependencies

~31KB