Enum std::iter::MinMaxResult
[−]
[src]
pub enum MinMaxResult<T> {
NoElements,
OneElement(T),
MinMax(T, T),
}: 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)>
: 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)));