Enum std::iter::MinMaxResultUnstable [-] [+] [src]

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

MinMaxResult is an enum returned by min_max. See IteratorOrdExt::min_max for more detail.

Variants

NoElements

Empty iterator

OneElement

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

MinMax

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

Methods

impl<T> MinMaxResult<T> where T: Clone

fn into_option(self) -> Option<(T, T)>

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 variant Some(x,y) is returned where x <= y. If MinMaxResult has variant OneElement(x), performing this operation will make one clone of x.

Examples

fn main() { use std::iter::MinMaxResult::{self, NoElements, OneElement, MinMax}; let r: MinMaxResult<isize> = 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))); }
use std::iter::MinMaxResult::{self, NoElements, OneElement, MinMax};

let r: MinMaxResult<isize> = 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

Derived Implementations

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

fn fmt(&self, __arg_0: &mut Formatter) -> Result<(), Error>

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

fn eq(&self, __arg_0: &MinMaxResult<T>) -> bool

fn ne(&self, __arg_0: &MinMaxResult<T>) -> bool

fn ne(&self, &MinMaxResult<T>) -> bool

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

fn clone(&self) -> MinMaxResult<T>

fn clone_from(&mut self, &MinMaxResult<T>)