Enum range_set::range_compare::RangeDisjoint
[−]
[src]
pub enum RangeDisjoint { EmptyBoth, EmptyLhs, EmptyRhs, LessThanProper, LessThanAdjacent, GreaterThanProper, GreaterThanAdjacent, }
Ways in which a pair of ranges (A,B)
can be disjoint
Variants
EmptyBoth
A = B = {}
EmptyLhs
A = {}
EmptyRhs
B = {}
LessThanProper
[ A ] [ B ]
LessThanAdjacent
[ A ][ B ]
GreaterThanProper
[ B ] [ A ]
GreaterThanAdjacent
[ B ][ A ]
Methods
impl RangeDisjoint
[src]
pub fn compare<T: PrimInt>(
left: &RangeInclusive<T>,
right: &RangeInclusive<T>
) -> Option<Self>
[src]
left: &RangeInclusive<T>,
right: &RangeInclusive<T>
) -> Option<Self>
Tests two inclusive ranges for disjointness, returning None
if they
intersect.
assert_eq!(RangeDisjoint::compare (&(0..=5), &(0..=5)), None); assert_eq!( RangeDisjoint::compare (&(1..=0), &(1..=0)), Some (RangeDisjoint::EmptyBoth)); assert_eq!( RangeDisjoint::compare (&(1..=0), &(0..=5)), Some (RangeDisjoint::EmptyLhs)); assert_eq!( RangeDisjoint::compare (&(0..=5), &(1..=0)), Some (RangeDisjoint::EmptyRhs)); assert_eq!( RangeDisjoint::compare (&(0..=2), &(4..=5)), Some (RangeDisjoint::LessThanProper)); assert_eq!( RangeDisjoint::compare (&(0..=2), &(3..=5)), Some (RangeDisjoint::LessThanAdjacent)); assert_eq!( RangeDisjoint::compare (&(4..=5), &(0..=2)), Some (RangeDisjoint::GreaterThanProper)); assert_eq!( RangeDisjoint::compare (&(3..=5), &(0..=2)), Some (RangeDisjoint::GreaterThanAdjacent));
Trait Implementations
impl Debug for RangeDisjoint
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl Eq for RangeDisjoint
[src]
impl PartialEq for RangeDisjoint
[src]
fn eq(&self, __arg_0: &RangeDisjoint) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl From<RangeDisjoint> for RangeCompare
[src]
fn from(disjoint: RangeDisjoint) -> Self
[src]
Performs the conversion.