pub enum SortOrder {
Asc,
Desc,
}Expand description
Which way an order runs: ascending or descending.
use std::cmp::Ordering;
use kevy_text::SortOrder;
assert_eq!(SortOrder::Asc.apply(1.cmp(&2)), Ordering::Less);
assert_eq!(SortOrder::Desc.apply(1.cmp(&2)), Ordering::Greater);
assert_eq!(SortOrder::default(), SortOrder::Asc);Variants§
Asc
Smallest first.
// a "red shoe" 30, b "red hat" 10, c "red cap" 20
let price = |v: &[u8]| Some(v.to_vec());
let cheapest = QueryOpts::default().with_sort(Sort::new(0, &price).with_order(SortOrder::Asc));
let page = seg.matches_query_with(b"red", 2, cheapest);
assert_eq!(page.iter().map(|m| &m.key[..]).collect::<Vec<_>>(), [&b"b"[..], b"c"]);Desc
Largest first.
// a "red shoe" 30, b "red hat" 10, c "red cap" 20
let price = |v: &[u8]| Some(v.to_vec());
let dearest = QueryOpts::default().with_sort(Sort::new(0, &price).with_order(SortOrder::Desc));
let page = seg.matches_query_with(b"red", 2, dearest);
assert_eq!(page.iter().map(|m| &m.key[..]).collect::<Vec<_>>(), [&b"a"[..], b"c"]);Implementations§
Trait Implementations§
impl Copy for SortOrder
impl Eq for SortOrder
impl StructuralPartialEq for SortOrder
Auto Trait Implementations§
impl Freeze for SortOrder
impl RefUnwindSafe for SortOrder
impl Send for SortOrder
impl Sync for SortOrder
impl Unpin for SortOrder
impl UnsafeUnpin for SortOrder
impl UnwindSafe for SortOrder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more