Function max_by_key

const fn max_by_key<T, F, K>(v1: T, v2: T, f: F) -> T
where
    T: ,
    F: ~const FnMut(&T) -> K,
    K: ~const Ord

Returns the element that gives the maximum value from the specified function.

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

Examples

use std::cmp;

let result = cmp::max_by_key(3, -2, |x: &i32| x.abs());
assert_eq!(result, 3);

let result = cmp::max_by_key(1, -2, |x: &i32| x.abs());
assert_eq!(result, -2);

let result = cmp::max_by_key(1, -1, |x: &i32| x.abs());
assert_eq!(result, -1);