max_by

Function max_by 

1.53.0 · Source
pub fn max_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 maximum of two values with respect to the specified comparison function.

Returns the second 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::max_by(3, -2, abs_cmp) ;
assert_eq!(result, 3);

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

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