Enum std::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> MinMaxResult<T> where T: Clone

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)] 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 for MinMaxResult<T> where T: Debug + Debug + Debug + Debug

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

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

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

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

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

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

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