min_by

Function min_by 

1.53.0 · Source
pub fn min_by<T, F>(v1: T, v2: T, compare: F) -> T
where F: FnOnce(&T, &T) -> Ordering,
Available on crate feature mtls only.
Expand description

Returns the minimum of two values with respect to the specified comparison function.

Returns the first argument if the comparison determines them to be equal.

The parameter order is preserved when calling the compare function, i.e. v1 is always passed as the first argument and v2 as the second.

§Examples

use std::cmp;

let abs_cmp = |x: &i32, y: &i32| x.abs().cmp(&y.abs());

let result = cmp::min_by(2, -1, abs_cmp);
assert_eq!(result, -1);

let result = cmp::min_by(2, -3, abs_cmp);
assert_eq!(result, 2);

let result = cmp::min_by(1, -1, abs_cmp);
assert_eq!(result, 1);