Crates.io | range-compare |
lib.rs | range-compare |
version | 0.1.1 |
source | src |
created_at | 2023-12-19 19:37:45.977425 |
updated_at | 2023-12-19 19:44:16.645832 |
description | A crate to compare ranges |
homepage | |
repository | https://github.com/Ruben2424/range-compare |
max_upload_size | |
id | 1074575 |
size | 28,994 |
This crate provides a method to compare two ranges and get the overlapping parts of the ranges.
use range_compare::{RangeExt, RangeCmpResult};
// create two ranges
let range1 = 2..10;
let range2 = 5..15;
// compare the original range1 with the other range2
// safe the [RangeCmpResult] of the comparison in a variable
let result = range1.compare(&range2);
assert_eq!(
result,
RangeCmpResult::EndIncluded {
other_after: 10..15,
original_part_which_is_not_included: 2..5,
overlapping_part: 5..10,
}
);
use range_compare::{RangeExt, RangeCmpResult};
// create two ranges
let range1 = 29..40;
let range2 = 35..70;
// compare the original range1 with the other range2
// safe the [RangeCmpResult] of the comparison in a variable
let result = range1.compare(&range2);
// get the matching part of the original range
let matching_part = result.get_matching_part();
assert_eq!(matching_part, Some(35..40).as_ref());