extracted the InclusiveInterval into a separate module
This commit is contained in:
@@ -27,7 +27,7 @@ for some methods so if in doubt check a methods trait bounds.
|
|||||||
## Example using an Inclusive-Exclusive range
|
## Example using an Inclusive-Exclusive range
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
use discrete_range_map::test_ranges::ie;
|
use discrete_range_map::inclusive_interval::ie;
|
||||||
use discrete_range_map::DiscreteRangeMap;
|
use discrete_range_map::DiscreteRangeMap;
|
||||||
|
|
||||||
let mut map = DiscreteRangeMap::new();
|
let mut map = DiscreteRangeMap::new();
|
||||||
@@ -45,7 +45,7 @@ assert_eq!(map.contains_point(5), true);
|
|||||||
```rust
|
```rust
|
||||||
use std::ops::{Bound, RangeBounds};
|
use std::ops::{Bound, RangeBounds};
|
||||||
|
|
||||||
use discrete_range_map::test_ranges::ie;
|
use discrete_range_map::inclusive_interval::ie;
|
||||||
use discrete_range_map::{
|
use discrete_range_map::{
|
||||||
DiscreteFinite, DiscreteRangeMap, InclusiveInterval,
|
DiscreteFinite, DiscreteRangeMap, InclusiveInterval,
|
||||||
InclusiveRange,
|
InclusiveRange,
|
||||||
|
|||||||
+28
-63
@@ -24,7 +24,6 @@ use core::cmp::Ordering;
|
|||||||
use core::fmt::{self, Debug};
|
use core::fmt::{self, Debug};
|
||||||
use core::iter::once;
|
use core::iter::once;
|
||||||
use core::marker::PhantomData;
|
use core::marker::PhantomData;
|
||||||
use core::ops::{Bound, RangeBounds};
|
|
||||||
|
|
||||||
use btree_monstrousity::btree_map::{
|
use btree_monstrousity::btree_map::{
|
||||||
IntoIter as BTreeMapIntoIter, SearchBoundCustom,
|
IntoIter as BTreeMapIntoIter, SearchBoundCustom,
|
||||||
@@ -37,7 +36,7 @@ use serde::ser::SerializeSeq;
|
|||||||
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
||||||
|
|
||||||
use crate::utils::{cmp_point_with_range, cut_range, is_valid_range, overlaps};
|
use crate::utils::{cmp_point_with_range, cut_range, is_valid_range, overlaps};
|
||||||
use crate::DiscreteFinite;
|
use crate::{DiscreteFinite, InclusiveInterval};
|
||||||
|
|
||||||
/// An ordered map of non-overlapping ranges based on [`BTreeMap`].
|
/// An ordered map of non-overlapping ranges based on [`BTreeMap`].
|
||||||
///
|
///
|
||||||
@@ -54,7 +53,7 @@ use crate::DiscreteFinite;
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// // Make a map of ranges to booleans
|
/// // Make a map of ranges to booleans
|
||||||
@@ -93,40 +92,6 @@ pub struct OverlapError<V> {
|
|||||||
pub value: V,
|
pub value: V,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// A compatibility type used in [`RangeType`] for allowing the library to
|
|
||||||
/// create the custom K type used in the map when necessary.
|
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
||||||
pub struct InclusiveInterval<I> {
|
|
||||||
/// The start of the interval, inclusive.
|
|
||||||
pub start: I,
|
|
||||||
/// The end of the interval, inclusive.
|
|
||||||
pub end: I,
|
|
||||||
}
|
|
||||||
impl<I> RangeBounds<I> for InclusiveInterval<I>
|
|
||||||
where
|
|
||||||
I: PointType,
|
|
||||||
{
|
|
||||||
fn start_bound(&self) -> Bound<&I> {
|
|
||||||
Bound::Included(&self.start)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn end_bound(&self) -> Bound<&I> {
|
|
||||||
Bound::Included(&self.end)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
impl<I> InclusiveRange<I> for InclusiveInterval<I>
|
|
||||||
where
|
|
||||||
I: PointType,
|
|
||||||
{
|
|
||||||
fn start(&self) -> I {
|
|
||||||
self.start
|
|
||||||
}
|
|
||||||
|
|
||||||
fn end(&self) -> I {
|
|
||||||
self.end
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// The marker trait for valid point types, a blanket implementation is provided for all types
|
/// The marker trait for valid point types, a blanket implementation is provided for all types
|
||||||
/// which implement this traits' super-traits so you shouln't need to implement this yourself.
|
/// which implement this traits' super-traits so you shouln't need to implement this yourself.
|
||||||
pub trait PointType: Ord + Copy + DiscreteFinite {}
|
pub trait PointType: Ord + Copy + DiscreteFinite {}
|
||||||
@@ -161,7 +126,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::{ie, ii};
|
/// use discrete_range_map::inclusive_interval::{ie, ii};
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let mut map = DiscreteRangeMap::new();
|
/// let mut map = DiscreteRangeMap::new();
|
||||||
@@ -194,7 +159,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let map = DiscreteRangeMap::from_slice_strict([
|
/// let map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -241,7 +206,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let mut map = DiscreteRangeMap::from_slice_strict([
|
/// let mut map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -283,7 +248,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let map = DiscreteRangeMap::from_slice_strict([
|
/// let map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -306,7 +271,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
/// let mut map =
|
/// let mut map =
|
||||||
/// DiscreteRangeMap::from_slice_strict([(ie(1, 4), false)])
|
/// DiscreteRangeMap::from_slice_strict([(ie(1, 4), false)])
|
||||||
@@ -327,7 +292,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let map = DiscreteRangeMap::from_slice_strict([
|
/// let map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -353,7 +318,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::{ie, iu};
|
/// use discrete_range_map::inclusive_interval::{ie, iu};
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let map = DiscreteRangeMap::from_slice_strict([
|
/// let map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -402,7 +367,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let mut map = DiscreteRangeMap::from_slice_strict([
|
/// let mut map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -466,7 +431,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::{ie, ii};
|
/// use discrete_range_map::inclusive_interval::{ie, ii};
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let mut base = DiscreteRangeMap::from_slice_strict([
|
/// let mut base = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -633,7 +598,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::{ie, iu};
|
/// use discrete_range_map::inclusive_interval::{ie, iu};
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let map = DiscreteRangeMap::from_slice_strict([
|
/// let map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -727,7 +692,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let map = DiscreteRangeMap::from_slice_strict([
|
/// let map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -765,7 +730,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::{DiscreteRangeMap, OverlapError};
|
/// use discrete_range_map::{DiscreteRangeMap, OverlapError};
|
||||||
///
|
///
|
||||||
/// let mut map = DiscreteRangeMap::new();
|
/// let mut map = DiscreteRangeMap::new();
|
||||||
@@ -865,7 +830,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::{DiscreteRangeMap, OverlapError};
|
/// use discrete_range_map::{DiscreteRangeMap, OverlapError};
|
||||||
///
|
///
|
||||||
/// let mut map = DiscreteRangeMap::from_slice_strict([
|
/// let mut map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -953,7 +918,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::{DiscreteRangeMap, OverlapError};
|
/// use discrete_range_map::{DiscreteRangeMap, OverlapError};
|
||||||
///
|
///
|
||||||
/// let mut map = DiscreteRangeMap::from_slice_strict([
|
/// let mut map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -1054,7 +1019,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::{DiscreteRangeMap, OverlapError};
|
/// use discrete_range_map::{DiscreteRangeMap, OverlapError};
|
||||||
///
|
///
|
||||||
/// let mut map = DiscreteRangeMap::from_slice_strict([
|
/// let mut map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -1127,7 +1092,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::{DiscreteRangeMap, OverlapError};
|
/// use discrete_range_map::{DiscreteRangeMap, OverlapError};
|
||||||
///
|
///
|
||||||
/// let mut map = DiscreteRangeMap::from_slice_strict([
|
/// let mut map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -1215,7 +1180,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let mut map =
|
/// let mut map =
|
||||||
@@ -1254,7 +1219,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let map = DiscreteRangeMap::from_slice_strict([
|
/// let map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -1288,7 +1253,7 @@ where
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let slice =
|
/// let slice =
|
||||||
@@ -1332,7 +1297,7 @@ impl<I, K, V> DiscreteRangeMap<I, K, V> {
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let mut map = DiscreteRangeMap::new();
|
/// let mut map = DiscreteRangeMap::new();
|
||||||
@@ -1350,7 +1315,7 @@ impl<I, K, V> DiscreteRangeMap<I, K, V> {
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let mut map = DiscreteRangeMap::new();
|
/// let mut map = DiscreteRangeMap::new();
|
||||||
@@ -1368,7 +1333,7 @@ impl<I, K, V> DiscreteRangeMap<I, K, V> {
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let map = DiscreteRangeMap::from_slice_strict([
|
/// let map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -1394,7 +1359,7 @@ impl<I, K, V> DiscreteRangeMap<I, K, V> {
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let mut map = DiscreteRangeMap::from_slice_strict([
|
/// let mut map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -1422,7 +1387,7 @@ impl<I, K, V> DiscreteRangeMap<I, K, V> {
|
|||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
///
|
///
|
||||||
/// let map = DiscreteRangeMap::from_slice_strict([
|
/// let map = DiscreteRangeMap::from_slice_strict([
|
||||||
@@ -1443,7 +1408,7 @@ impl<I, K, V> DiscreteRangeMap<I, K, V> {
|
|||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// use discrete_range_map::DiscreteRangeMap;
|
/// use discrete_range_map::DiscreteRangeMap;
|
||||||
/// use discrete_range_map::test_ranges::ie;
|
/// use discrete_range_map::inclusive_interval::ie;
|
||||||
///
|
///
|
||||||
/// let map = DiscreteRangeMap::from_slice_strict([
|
/// let map = DiscreteRangeMap::from_slice_strict([
|
||||||
/// (ie(1, 4), false),
|
/// (ie(1, 4), false),
|
||||||
@@ -1713,7 +1678,7 @@ mod tests {
|
|||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::test_ranges::{ee, ei, ie, ii, iu, ue, ui, uu};
|
use crate::inclusive_interval::{ee, ei, ie, ii, iu, ue, ui, uu};
|
||||||
use crate::utils::{config, contains_point, Config, CutResult};
|
use crate::utils::{config, contains_point, Config, CutResult};
|
||||||
|
|
||||||
//only every other number to allow mathematical_overlapping_definition
|
//only every other number to allow mathematical_overlapping_definition
|
||||||
|
|||||||
@@ -17,10 +17,48 @@ You should have received a copy of the GNU Affero General Public License
|
|||||||
along with discrete_range_map. If not, see <https://www.gnu.org/licenses/>.
|
along with discrete_range_map. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//! A collection of helper functions for making [`InclusiveInterval`]s from `i8`'s used for testing
|
//! A module containing [`InclusiveInterval`] and it's various constructor functions.
|
||||||
//! and example purposes.
|
|
||||||
|
|
||||||
use crate::{DiscreteFinite, InclusiveInterval};
|
use core::ops::{RangeBounds, Bound};
|
||||||
|
|
||||||
|
use serde::{Serialize, Deserialize};
|
||||||
|
|
||||||
|
use crate::{DiscreteFinite, PointType, InclusiveRange};
|
||||||
|
|
||||||
|
/// The interval type used throughout this crate both for the examples and
|
||||||
|
/// for use by library users if they don't wish to create their own
|
||||||
|
/// interval types.
|
||||||
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
||||||
|
pub struct InclusiveInterval<I> {
|
||||||
|
/// The start of the interval, inclusive.
|
||||||
|
pub start: I,
|
||||||
|
/// The end of the interval, inclusive.
|
||||||
|
pub end: I,
|
||||||
|
}
|
||||||
|
impl<I> RangeBounds<I> for InclusiveInterval<I>
|
||||||
|
where
|
||||||
|
I: PointType,
|
||||||
|
{
|
||||||
|
fn start_bound(&self) -> Bound<&I> {
|
||||||
|
Bound::Included(&self.start)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn end_bound(&self) -> Bound<&I> {
|
||||||
|
Bound::Included(&self.end)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl<I> InclusiveRange<I> for InclusiveInterval<I>
|
||||||
|
where
|
||||||
|
I: PointType,
|
||||||
|
{
|
||||||
|
fn start(&self) -> I {
|
||||||
|
self.start
|
||||||
|
}
|
||||||
|
|
||||||
|
fn end(&self) -> I {
|
||||||
|
self.end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// An unbounded-unbounded interval
|
/// An unbounded-unbounded interval
|
||||||
pub fn uu() -> InclusiveInterval<i8> {
|
pub fn uu() -> InclusiveInterval<i8> {
|
||||||
+6
-5
@@ -35,7 +35,7 @@ along with discrete_range_map. If not, see <https://www.gnu.org/licenses/>.
|
|||||||
//! ## Example using an Inclusive-Exclusive range
|
//! ## Example using an Inclusive-Exclusive range
|
||||||
//!
|
//!
|
||||||
//! ```rust
|
//! ```rust
|
||||||
//! use discrete_range_map::test_ranges::ie;
|
//! use discrete_range_map::inclusive_interval::ie;
|
||||||
//! use discrete_range_map::DiscreteRangeMap;
|
//! use discrete_range_map::DiscreteRangeMap;
|
||||||
//!
|
//!
|
||||||
//! let mut map = DiscreteRangeMap::new();
|
//! let mut map = DiscreteRangeMap::new();
|
||||||
@@ -53,7 +53,7 @@ along with discrete_range_map. If not, see <https://www.gnu.org/licenses/>.
|
|||||||
//! ```rust
|
//! ```rust
|
||||||
//! use std::ops::{Bound, RangeBounds};
|
//! use std::ops::{Bound, RangeBounds};
|
||||||
//!
|
//!
|
||||||
//! use discrete_range_map::test_ranges::ie;
|
//! use discrete_range_map::inclusive_interval::ie;
|
||||||
//! use discrete_range_map::{
|
//! use discrete_range_map::{
|
||||||
//! DiscreteFinite, DiscreteRangeMap, InclusiveInterval,
|
//! DiscreteFinite, DiscreteRangeMap, InclusiveInterval,
|
||||||
//! InclusiveRange,
|
//! InclusiveRange,
|
||||||
@@ -384,11 +384,12 @@ pub(crate) mod utils;
|
|||||||
pub mod discrete_finite;
|
pub mod discrete_finite;
|
||||||
pub mod discrete_range_map;
|
pub mod discrete_range_map;
|
||||||
pub mod discrete_range_set;
|
pub mod discrete_range_set;
|
||||||
pub mod test_ranges;
|
pub mod inclusive_interval;
|
||||||
|
|
||||||
pub use crate::discrete_finite::DiscreteFinite;
|
pub use crate::discrete_finite::DiscreteFinite;
|
||||||
pub use crate::discrete_range_map::{
|
pub use crate::discrete_range_map::{
|
||||||
DiscreteRangeMap, InclusiveInterval, InclusiveRange, OverlapError,
|
DiscreteRangeMap, InclusiveRange, OverlapError, PointType, RangeType,
|
||||||
PointType, RangeType,
|
|
||||||
};
|
};
|
||||||
pub use crate::discrete_range_set::DiscreteRangeSet;
|
pub use crate::discrete_range_set::DiscreteRangeSet;
|
||||||
|
pub use crate::inclusive_interval::InclusiveInterval;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user