Enum core::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: Clone> MinMaxResult<T>
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.
Example
fn main() { use std::iter::{NoElements, OneElement, MinMax, MinMaxResult}; let r: MinMaxResult<int> = NoElements; assert_eq!(r.into_option(), None); let r = OneElement(1i); assert_eq!(r.into_option(), Some((1,1))); let r = MinMax(1i,2i); assert_eq!(r.into_option(), Some((1,2))); }use std::iter::{NoElements, OneElement, MinMax, MinMaxResult}; let r: MinMaxResult<int> = NoElements; assert_eq!(r.into_option(), None); let r = OneElement(1i); assert_eq!(r.into_option(), Some((1,1))); let r = MinMax(1i,2i); assert_eq!(r.into_option(), Some((1,2)));