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`MinMaxResultis an enum returned by` is an enum returned by min_max`min_max. See`. See Iterator::min_max`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`into_optioncreates an` creates an Option`Optionof type` of type (T,T)`(T,T). The returned`. The returned Option`Optionhas variant` has variant None`Noneif and only if the` if and only if the MinMaxResult`MinMaxResulthas variant` has variant NoElements`NoElements. Otherwise variant`. Otherwise variant Some(x,y)`Some(x,y)is returned where` is returned where x <= y`x <= y. If`. If MinMaxResult`MinMaxResulthas variant` has variant OneElement(x)`OneElement(x), performing this operation will make one clone of`, performing this operation will make one clone of x`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)