Enum core::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: Clone> MinMaxResult<T>
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)] 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)));