Enum Ordering
#[repr(i8)]
pub enum Ordering
An Ordering is the result of a comparison between two values.
Examples
use Ordering;
assert_eq!;
assert_eq!;
assert_eq!;
Variants
-
Less = -1 An ordering where a compared value is less than another.
-
Equal = 0 An ordering where a compared value is equal to another.
-
Greater = 1 An ordering where a compared value is greater than another.
Implementations
impl Ordering
const fn as_raw(self) -> i8const fn is_eq(self) -> boolReturns
trueif the ordering is theEqualvariant.Examples
use Ordering; assert_eq!; assert_eq!; assert_eq!;const fn is_ne(self) -> boolReturns
trueif the ordering is not theEqualvariant.Examples
use Ordering; assert_eq!; assert_eq!; assert_eq!;const fn is_lt(self) -> boolReturns
trueif the ordering is theLessvariant.Examples
use Ordering; assert_eq!; assert_eq!; assert_eq!;const fn is_gt(self) -> boolReturns
trueif the ordering is theGreatervariant.Examples
use Ordering; assert_eq!; assert_eq!; assert_eq!;const fn is_le(self) -> boolReturns
trueif the ordering is either theLessorEqualvariant.Examples
use Ordering; assert_eq!; assert_eq!; assert_eq!;const fn is_ge(self) -> boolReturns
trueif the ordering is either theGreaterorEqualvariant.Examples
use Ordering; assert_eq!; assert_eq!; assert_eq!;const fn reverse(self) -> OrderingReverses the
Ordering.LessbecomesGreater.GreaterbecomesLess.EqualbecomesEqual.
Examples
Basic behavior:
use Ordering; assert_eq!; assert_eq!; assert_eq!;This method can be used to reverse a comparison:
let data: &mut = &mut ; // sort the array from largest to smallest. data.sort_by; let b: &mut = &mut ; assert!;const fn then(self, other: Ordering) -> OrderingChains two orderings.
Returns
selfwhen it's notEqual. Otherwise returnsother.Examples
use Ordering; let result = Equal.then; assert_eq!; let result = Less.then; assert_eq!; let result = Less.then; assert_eq!; let result = Equal.then; assert_eq!; let x: = ; let y: = ; let result = x.0.cmp.then.then; assert_eq!;const fn then_with<F>(self, f: F) -> Ordering where F: ~const FnOnce() -> Ordering,Chains the ordering with the given function.
Returns
selfwhen it's notEqual. Otherwise callsfand returns the result.Examples
use Ordering; let result = Equal.then_with; assert_eq!; let result = Less.then_with; assert_eq!; let result = Less.then_with; assert_eq!; let result = Equal.then_with; assert_eq!; let x: = ; let y: = ; let result = x.0.cmp.then_with.then_with; assert_eq!;
Trait Implementations
impl BytewiseEq for Ordering
impl Clone for Ordering
fn clone(&self) -> Ordering
impl Copy for Ordering
impl Debug for Ordering
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Eq for Ordering
fn assert_fields_are_eq(&self)
impl Hash for Ordering
fn hash<__H: Hasher>(&self, state: &mut __H)
impl Ord for Ordering
fn cmp(&self, other: &Ordering) -> Ordering
impl PartialEq for Ordering
fn eq(&self, other: &Ordering) -> bool
impl PartialOrd for Ordering
fn partial_cmp(&self, other: &Ordering) -> Option<Ordering>
impl StructuralPartialEq for Ordering
impl TrivialClone for Ordering
Auto Trait Implementations
impl Freeze for Ordering
impl RefUnwindSafe for Ordering
impl Send for Ordering
impl Sync for Ordering
impl Unpin for Ordering
impl UnsafeUnpin for Ordering
impl UnwindSafe for Ordering
Blanket Implementations
impl<T> Any for Ordering
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Ordering
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Ordering
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for Ordering
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for Ordering
fn from(t: T) -> TReturns the argument unchanged.
impl<T> Printable for Ordering
where
T: Copy + Debug,
impl<T> SizeHint for Ordering
where
T: ?Sized,
fn lower_bound(&self) -> usizefn upper_bound(&self) -> Option<usize>
impl<T> SizedTypeProperties for Ordering
impl<T, U> Into<U> for Ordering
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for Ordering
where
U: Into<T>,
type Error = Infallible;fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for Ordering
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>