merged_range 0.1.0

rangeset that can merge overlap
Documentation
# merged_range

A crate that can merge overlapping ranges

[![Apache licensed][apache-badge]][apache-url]
[![CI][actions-badge]][actions-url]

[apache-badge]: https://img.shields.io/badge/license-Apache-blue.svg
[apache-url]: https://github.com/datenlord/merged_range/blob/master/LICENSE
[actions-badge]: https://github.com/datenlord/merged_range/actions/workflows/ci.yml/badge.svg
[actions-url]: https://github.com/datenlord/merged_range/actions/workflows/ci.yml

## 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

```toml
[dependencies]
merged_range = "0.1.0"
```

then use it in your code

```rust
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][apache-url].