Enum core::iter::MinMaxResult [] [src]

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

: unclear whether such a fine-grained result is widely useful

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

Variants

NoElements
Unstable

: unclear whether such a fine-grained result is widely useful

Empty iterator

OneElement
Unstable

: unclear whether such a fine-grained result is widely useful

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

MinMax
Unstable

: unclear whether such a fine-grained result is widely useful

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

Methods

impl<T: Clone> MinMaxResult<T>

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

Unstable

: type is unstable

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

#![feature(core)] extern crate core; fn main() { use std::iter::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))); }
use std::iter::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

Derived Implementations

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

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

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

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

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

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

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

fn clone_from(&mut self, source: &Self)