Trait ord_subset::OrdSubsetIterExt[][src]

pub trait OrdSubsetIterExt: Iterator {
    fn ord_subset_max(self) -> Option<Self::Item>
    where
        Self: Sized,
        Self::Item: OrdSubset
, { ... }
fn ord_subset_min(self) -> Option<Self::Item>
    where
        Self: Sized,
        Self::Item: OrdSubset
, { ... }
fn ord_subset_min_by_key<F, B>(self, f: F) -> Option<Self::Item>
    where
        F: FnMut(&Self::Item) -> B,
        B: OrdSubset,
        Self: Sized
, { ... }
fn ord_subset_max_by_key<F, B>(self, f: F) -> Option<Self::Item>
    where
        F: FnMut(&Self::Item) -> B,
        B: OrdSubset,
        Self: Sized
, { ... } }

Provided Methods

Consumes the entire iterator to return the maximum element. Values outside the ordered subset as given by .is_outside_order() are ignored.

Returns the last element if the comparison determines multiple elements to be equally maximum.

Example

use ord_subset::OrdSubsetIterExt;

let vec = vec![2.0, 3.0, 5.0, std::f64::NAN];
let max = vec.iter().ord_subset_max().unwrap();
assert_eq!(&5.0, max);

Consumes the entire iterator to return the minimum element. Values outside the ordered subset as given by .is_outside_order() are ignored.

Returns the first element if the comparison determines multiple elements to be equally minimum.

Example

use ord_subset::OrdSubsetIterExt;

let vec = vec![2.0, 3.0, 5.0, std::f64::NAN];
let min = vec.iter().ord_subset_min().unwrap();
assert_eq!(&2.0, min);

Returns the element that gives the minimum value from the specified function. Values outside the ordered subset as given by .is_outside_order() on the mapped value are ignored.

Returns the first element if the comparison determines multiple elements to be equally minimum.

Example

extern crate ord_subset;
use ord_subset::OrdSubsetIterExt;

fn main() {
    let vec = vec![2.0, 3.0, 5.0, std::f64::NAN];
    let min_by = vec.iter().ord_subset_min_by_key(|num| num.recip()).unwrap();
    assert_eq!(&5.0, min_by);
}

Returns the element that gives the maximum value from the specified function. Values outside the ordered subset as given by .is_outside_order() on the mapped value are ignored.

Returns the last element if the comparison determines multiple elements to be equally maximum.

Implementors