Struct compare::Extract
[−]
[src]
pub struct Extract<E, C> { /* fields omitted */ }
A comparator that extracts a sort key from a value.
Examples
use compare::{Compare, Extract}; use std::cmp::Ordering::Greater; let a = [1, 2, 3]; let b = [4, 5]; let cmp = Extract::new(|s: &[i32]| s.len()); assert_eq!(cmp.compare(&a, &b), Greater);
Methods
impl<E, K> Extract<E, Natural<K>> where
K: Ord,
[src]
K: Ord,
fn new<T: ?Sized>(ext: E) -> Self where
E: Fn(&T) -> K,
E: Fn(&T) -> K,
Returns a comparator that extracts a sort key using ext
and compares it according to its
natural ordering.
impl<E, C> Extract<E, C>
[src]
fn with_cmp<T: ?Sized, K>(ext: E, cmp: C) -> Self where
E: Fn(&T) -> K,
C: Compare<K>,
E: Fn(&T) -> K,
C: Compare<K>,
Returns a comparator that extracts a sort key using ext
and compares it using
cmp
.
Trait Implementations
impl<E: Clone, C: Clone> Clone for Extract<E, C>
[src]
fn clone(&self) -> Extract<E, C>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<E: Copy, C: Copy> Copy for Extract<E, C>
[src]
impl<E: Debug, C: Debug> Debug for Extract<E, C>
[src]
impl<E: Default, C: Default> Default for Extract<E, C>
[src]
impl<E: PartialEq, C: PartialEq> PartialEq for Extract<E, C>
[src]
fn eq(&self, __arg_0: &Extract<E, C>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Extract<E, C>) -> bool
This method tests for !=
.
impl<E: Eq, C: Eq> Eq for Extract<E, C>
[src]
impl<E, C, T: ?Sized, K> Compare<T> for Extract<E, C> where
E: Fn(&T) -> K,
C: Compare<K>,
[src]
E: Fn(&T) -> K,
C: Compare<K>,
fn compare(&self, l: &T, r: &T) -> Ordering
Compares two values, returning Less
, Equal
, or Greater
if l
is less than, equal to, or greater than r
, respectively. Read more
fn compares_lt(&self, l: &T, r: &T) -> bool
Checks if l
is less than r
.
fn compares_le(&self, l: &T, r: &T) -> bool
Checks if l
is less than or equal to r
.
fn compares_ge(&self, l: &T, r: &T) -> bool
Checks if l
is greater than or equal to r
.
fn compares_gt(&self, l: &T, r: &T) -> bool
Checks if l
is greater than r
.
fn compares_eq(&self, l: &T, r: &T) -> bool
Checks if l
is equal to r
.
fn compares_ne(&self, l: &T, r: &T) -> bool
Checks if l
is not equal to r
.
fn borrowing(self) -> Borrowing<Self, L, R> where
Self: Sized,
Self: Sized,
Borrows the comparator's parameters before comparing them. Read more
fn rev(self) -> Rev<Self> where
Self: Sized,
Self: Sized,
Reverses the ordering of the comparator. Read more
fn swap(self) -> Swap<Self> where
Self: Sized,
Self: Sized,
Swaps the comparator's parameters, maintaining the underlying ordering. Read more
fn then<D>(self, then: D) -> Then<Self, D> where
D: Compare<L, R>,
Self: Sized,
D: Compare<L, R>,
Self: Sized,
Lexicographically combines the comparator with another. Read more