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`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: Clone> MinMaxResult<T>

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)] 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)