Enum std::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> MinMaxResult<T> where T: Clone
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
.
Examples
fn main() { use std::iter::MinMaxResult::{self, NoElements, OneElement, MinMax}; let r: MinMaxResult<isize> = 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<isize> = 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)));