Enum itertools::MinMaxResult[][src]

pub enum MinMaxResult<T> {
    NoElements,
    OneElement(T),
    MinMax(T, T),
}

MinMaxResult is an enum returned by minmax. See Itertools::minmax() for more detail.

Variants

NoElements

Empty iterator

OneElement(T)

Iterator with one element, so the minimum and maximum are the same

MinMax(T, T)

More than one element in the iterator, the first element is not larger than the second

Implementations

impl<T: Clone> MinMaxResult<T>[src]

pub fn into_option(self) -> Option<(T, T)>[src]

into_option creates an Option of type (T, T). The returned Option has variant None if and only if the MinMaxResult has variant NoElements. Otherwise Some((x, y)) is returned where x <= y. If the MinMaxResult has variant OneElement(x), performing this operation will make one clone of x.

Examples

use itertools::MinMaxResult::{self, NoElements, OneElement, MinMax};

let r: MinMaxResult<i32> = NoElements;
assert_eq!(r.into_option(), None);

let r = OneElement(1);
assert_eq!(r.into_option(), Some((1, 1)));

let r = MinMax(1, 2);
assert_eq!(r.into_option(), Some((1, 2)));

Trait Implementations

impl<T: Clone> Clone for MinMaxResult<T>[src]

impl<T: Debug> Debug for MinMaxResult<T>[src]

impl<T: PartialEq> PartialEq<MinMaxResult<T>> for MinMaxResult<T>[src]

impl<T: Copy> Copy for MinMaxResult<T>[src]

impl<T> StructuralPartialEq for MinMaxResult<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for MinMaxResult<T> where
    T: RefUnwindSafe

impl<T> Send for MinMaxResult<T> where
    T: Send

impl<T> Sync for MinMaxResult<T> where
    T: Sync

impl<T> Unpin for MinMaxResult<T> where
    T: Unpin

impl<T> UnwindSafe for MinMaxResult<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.