Enum range_set::range_compare::RangeIntersect
[−]
[src]
pub enum RangeIntersect {
EqualTo,
OverlapsLeft,
OverlapsRight,
ContainsFirst,
ContainsProper,
ContainsLast,
ContainedByFirst,
ContainedByProper,
ContainedByLast,
}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 Debug for RangeIntersect[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result[src]
Formats the value using the given formatter. Read more
impl Eq for RangeIntersect[src]
impl PartialEq for RangeIntersect[src]
fn eq(&self, __arg_0: &RangeIntersect) -> bool[src]
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
This method tests for !=.
impl From<RangeIntersect> for RangeCompare[src]
fn from(intersect: RangeIntersect) -> Self[src]
Performs the conversion.