pub trait IterLastMinExt: Iterator + Sized {
// Provided methods
fn last_min(self) -> Option<Self::Item>
where Self::Item: Ord { ... }
fn last_min_by<F>(self, f: F) -> Option<Self::Item>
where F: FnMut(&Self::Item, &Self::Item) -> Ordering { ... }
fn last_min_by_key<B, F>(self, f: F) -> Option<Self::Item>
where F: FnMut(&Self::Item) -> B,
B: Ord { ... }
}Expand description
Similar the IterFirstMaxExt
use iter_first_max::IterLastMinExt as _;
let arr = [(1, 0), (1, 1), (1, 2), (2, 3), (2, 4)];
let first = arr.iter().min_by_key(|n| n.0);
let last = arr.iter().last_min_by_key(|n| n.0);
assert_eq!(first, Some(&(1, 0)));
assert_eq!(last, Some(&(1, 2)));Provided Methods§
Sourcefn last_min(self) -> Option<Self::Item>
fn last_min(self) -> Option<Self::Item>
Get min element, if equal, return the last equal element
Sourcefn last_min_by<F>(self, f: F) -> Option<Self::Item>
fn last_min_by<F>(self, f: F) -> Option<Self::Item>
Get min element, if equal, return the last equal element
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.