Enum grafix_toolbox::uses::cmp::Ordering 1.0.0[−][src]
pub enum Ordering {
Less,
Equal,
Greater,
}Expand description
An Ordering is the result of a comparison between two values.
Examples
use std::cmp::Ordering; let result = 1.cmp(&2); assert_eq!(Ordering::Less, result); let result = 1.cmp(&1); assert_eq!(Ordering::Equal, result); let result = 2.cmp(&1); assert_eq!(Ordering::Greater, result);
Variants
An ordering where a compared value is less than another.
An ordering where a compared value is equal to another.
An ordering where a compared value is greater than another.
Implementations
Returns true if the ordering is the Equal variant.
Examples
use std::cmp::Ordering; assert_eq!(Ordering::Less.is_eq(), false); assert_eq!(Ordering::Equal.is_eq(), true); assert_eq!(Ordering::Greater.is_eq(), false);
Returns true if the ordering is not the Equal variant.
Examples
use std::cmp::Ordering; assert_eq!(Ordering::Less.is_ne(), true); assert_eq!(Ordering::Equal.is_ne(), false); assert_eq!(Ordering::Greater.is_ne(), true);
Returns true if the ordering is the Less variant.
Examples
use std::cmp::Ordering; assert_eq!(Ordering::Less.is_lt(), true); assert_eq!(Ordering::Equal.is_lt(), false); assert_eq!(Ordering::Greater.is_lt(), false);
Returns true if the ordering is the Greater variant.
Examples
use std::cmp::Ordering; assert_eq!(Ordering::Less.is_gt(), false); assert_eq!(Ordering::Equal.is_gt(), false); assert_eq!(Ordering::Greater.is_gt(), true);
Returns true if the ordering is either the Less or Equal variant.
Examples
use std::cmp::Ordering; assert_eq!(Ordering::Less.is_le(), true); assert_eq!(Ordering::Equal.is_le(), true); assert_eq!(Ordering::Greater.is_le(), false);
Returns true if the ordering is either the Greater or Equal variant.
Examples
use std::cmp::Ordering; assert_eq!(Ordering::Less.is_ge(), false); assert_eq!(Ordering::Equal.is_ge(), true); assert_eq!(Ordering::Greater.is_ge(), true);
Reverses the Ordering.
LessbecomesGreater.GreaterbecomesLess.EqualbecomesEqual.
Examples
Basic behavior:
use std::cmp::Ordering; assert_eq!(Ordering::Less.reverse(), Ordering::Greater); assert_eq!(Ordering::Equal.reverse(), Ordering::Equal); assert_eq!(Ordering::Greater.reverse(), Ordering::Less);
This method can be used to reverse a comparison:
let data: &mut [_] = &mut [2, 10, 5, 8]; // sort the array from largest to smallest. data.sort_by(|a, b| a.cmp(b).reverse()); let b: &mut [_] = &mut [10, 8, 5, 2]; assert!(data == b);
Chains two orderings.
Returns self when it’s not Equal. Otherwise returns other.
Examples
use std::cmp::Ordering; let result = Ordering::Equal.then(Ordering::Less); assert_eq!(result, Ordering::Less); let result = Ordering::Less.then(Ordering::Equal); assert_eq!(result, Ordering::Less); let result = Ordering::Less.then(Ordering::Greater); assert_eq!(result, Ordering::Less); let result = Ordering::Equal.then(Ordering::Equal); assert_eq!(result, Ordering::Equal); let x: (i64, i64, i64) = (1, 2, 7); let y: (i64, i64, i64) = (1, 5, 3); let result = x.0.cmp(&y.0).then(x.1.cmp(&y.1)).then(x.2.cmp(&y.2)); assert_eq!(result, Ordering::Less);
Chains the ordering with the given function.
Returns self when it’s not Equal. Otherwise calls f and returns
the result.
Examples
use std::cmp::Ordering; let result = Ordering::Equal.then_with(|| Ordering::Less); assert_eq!(result, Ordering::Less); let result = Ordering::Less.then_with(|| Ordering::Equal); assert_eq!(result, Ordering::Less); let result = Ordering::Less.then_with(|| Ordering::Greater); assert_eq!(result, Ordering::Less); let result = Ordering::Equal.then_with(|| Ordering::Equal); assert_eq!(result, Ordering::Equal); let x: (i64, i64, i64) = (1, 2, 7); let y: (i64, i64, i64) = (1, 5, 3); let result = x.0.cmp(&y.0).then_with(|| x.1.cmp(&y.1)).then_with(|| x.2.cmp(&y.2)); assert_eq!(result, Ordering::Less);
Trait Implementations
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for Orderingimpl UnwindSafe for OrderingBlanket Implementations
Mutably borrows from an owned value. Read more
type Output = T
type Output = TShould always be Self
The inverse inclusion map: attempts to construct self from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> boolChecks if self is actually part of its subset T (and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SSUse with care! Same as self.to_subset but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SPThe inclusion map: converts self to the equivalent element of its superset.
pub fn vzip(self) -> V