Function fera_graph::max_by_prop

source ·
pub fn max_by_prop<I, P, K>(prop: P, iter: I) -> Option<I::Item>where
    I: IntoIterator,
    I::Item: Copy + IntoOwned<K>,
    P: PropGet<K>,
    P::Output: Ord,
Expand description

Returns the iterator’s item with maximum property value or None if the iterator is empty.

If several items have equally maximum property value, the last item with maximum property value is returned.

Example

use fera_graph::prelude::*;
use fera_graph::max_by_prop;

let g = CompleteGraph::new(4);
let mut w = g.default_vertex_prop(0u32);
w[0] = 5;
w[1] = 10;
w[2] = 3;
w[3] = 10;
assert_eq!(Some(3), max_by_prop(&w, g.vertices()));
assert_eq!(None, max_by_prop(&w, g.vertices().take(0)));
assert_eq!(Some(&0), max_by_prop(&w, &[0, 2]));