[−][src]Enum range_set::range_compare::RangeIntersect
Ways in which a pair of ranges (A,B) can intersect
Variants
EqualTo[ A=B ]
OverlapsLeft[ A [ ] B ]
OverlapsRight[ B [ ] A ]
ContainsFirst[ B ] A ]
ContainsProper[ A [ B ] ]
ContainsLast[ A [ B ]
ContainedByFirst[ A ] B ]
ContainedByProper[ [ A ] B ]
ContainedByLast[ B [ A ]
Methods
impl RangeIntersect[src]
pub fn compare<T: PrimInt>(
left: &RangeInclusive<T>,
right: &RangeInclusive<T>
) -> Option<Self>[src]
left: &RangeInclusive<T>,
right: &RangeInclusive<T>
) -> Option<Self>
Test two inclusive ranges for intersection, returning None if the
ranges are disjoint.
assert_eq!(RangeIntersect::compare (&(0..=1), &(4..=5)), None); assert_eq!( RangeIntersect::compare (&(0..=5), &(0..=5)), Some (RangeIntersect::EqualTo)); assert_eq!( RangeIntersect::compare (&(0..=5), &(1..=4)), Some (RangeIntersect::ContainsProper)); assert_eq!( RangeIntersect::compare (&(1..=4), &(0..=5)), Some (RangeIntersect::ContainedByProper)); assert_eq!( RangeIntersect::compare (&(0..=5), &(0..=3)), Some (RangeIntersect::ContainsFirst)); assert_eq!( RangeIntersect::compare (&(0..=5), &(4..=5)), Some (RangeIntersect::ContainsLast)); assert_eq!( RangeIntersect::compare (&(0..=2), &(0..=5)), Some (RangeIntersect::ContainedByFirst)); assert_eq!( RangeIntersect::compare (&(4..=5), &(0..=5)), Some (RangeIntersect::ContainedByLast)); assert_eq!( RangeIntersect::compare (&(0..=3), &(3..=5)), Some (RangeIntersect::OverlapsLeft)); assert_eq!( RangeIntersect::compare (&(3..=5), &(0..=3)), Some (RangeIntersect::OverlapsRight));
Trait Implementations
impl Eq for RangeIntersect[src]
impl PartialEq<RangeIntersect> for RangeIntersect[src]
fn eq(&self, other: &RangeIntersect) -> bool[src]
#[must_use]
default fn ne(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]
default fn ne(&self, other: &Rhs) -> boolThis method tests for !=.
impl From<RangeIntersect> for RangeCompare[src]
fn from(intersect: RangeIntersect) -> Self[src]
impl Debug for RangeIntersect[src]
Auto Trait Implementations
impl Send for RangeIntersect
impl Sync for RangeIntersect
Blanket Implementations
impl<T, U> Into for T where
U: From<T>, [src]
U: From<T>,
impl<T> From for T[src]
impl<T, U> TryFrom for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T> Borrow for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,