use std::cmp::Ordering;
#[repr(isize)] #[derive(Copy, Clone, Debug, Ord, PartialOrd, Eq, PartialEq, Hash)]
pub enum NSComparisonResult {
OrderedAscending = -1,
OrderedSame = 0,
OrderedDescending = 1,
}
impl From<Ordering> for NSComparisonResult {
#[inline]
fn from(ordering: Ordering) -> Self {
match ordering {
Ordering::Less => Self::OrderedAscending,
Ordering::Equal => Self::OrderedSame,
Ordering::Greater => Self::OrderedDescending,
}
}
}
impl From<NSComparisonResult> for Ordering {
#[inline]
fn from(result: NSComparisonResult) -> Self {
match result {
NSComparisonResult::OrderedAscending => Self::Less,
NSComparisonResult::OrderedSame => Self::Equal,
NSComparisonResult::OrderedDescending => Self::Greater,
}
}
}
impl NSComparisonResult {
#[inline]
pub fn into_ordering(self) -> Ordering {
self.into()
}
}