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

[ A=B ]

[ A [ ] B ]

[ B [ ] A ]

[ B ] A ]

[ A [ B ] ]

[ A [ B ]

[ A ] B ]

[ [ A ] B ]

[ B [ A ]

Methods

impl RangeIntersect
[src]

[src]

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]

[src]

Formats the value using the given formatter. Read more

impl Eq for RangeIntersect
[src]

impl PartialEq for RangeIntersect
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

1.0.0
[src]

This method tests for !=.

impl From<RangeIntersect> for RangeCompare
[src]

[src]

Performs the conversion.

Auto Trait Implementations

impl Send for RangeIntersect

impl Sync for RangeIntersect