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
EmptyBothA = B = {}
EmptyLhsA = {}
EmptyRhsB = {}
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) -> bool1.0.0[src]
This method tests for !=.
impl From<RangeDisjoint> for RangeCompare[src]
fn from(disjoint: RangeDisjoint) -> Self[src]
Performs the conversion.