#range #bounds #exclusive #rangebound #excluded

no-std more_ranges

Range types not provided in the standard library

1 unstable release

Uses old Rust 2015

0.1.0 Feb 7, 2021

#2006 in Data structures


Used in nested_containment_list

MIT/Apache

12KB
134 lines

more_ranges

GitHub Workflow Status codecov.io crates.io docs.rs MSRV License

Range types not provided in the standard library.

This crate provides range types that are bounded exclusively below. Specifically, the types provided are:

These ranges operate nearly the same as those in std::ops. However, they do not function as Iterators, nor can they be used in indexing.

Example

The range types provided here can be used by directly specifying their fields:

use more_ranges::{RangeFromExclusive, RangeFromExclusiveToExclusive, RangeFromExclusiveToInclusive};

let range_from_exclusive = RangeFromExclusive { start: 1 };
let range_from_exclusive_to_exclusive = RangeFromExclusiveToExclusive { start: 1, end: 4 };
let range_from_exclusive_to_inclusive = RangeFromExclusiveToInclusive { start: 1, end: 4 };

Minimum Supported Rust Version

This crate is guaranteed to compile on stable rustc 1.28.0 and up.

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

No runtime deps