Enum tract_core::internal::tract_itertools::MinMaxResult
source · pub enum MinMaxResult<T> {
NoElements,
OneElement(T),
MinMax(T, T),
}Expand description
MinMaxResult is an enum returned by minmax.
See .minmax() for more detail.
Variants§
NoElements
Empty iterator
OneElement(T)
Iterator with one element, so the minimum and maximum are the same
MinMax(T, T)
More than one element in the iterator, the first element is not larger than the second
Implementations§
source§impl<T> MinMaxResult<T>where
T: Clone,
impl<T> MinMaxResult<T>where T: Clone,
sourcepub fn into_option(self) -> Option<(T, T)>
pub 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 Some((x, y)) is returned where x <= y.
If the MinMaxResult has variant OneElement(x), performing this
operation will make one clone of x.
Examples
use itertools::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§
source§impl<T> Clone for MinMaxResult<T>where
T: Clone,
impl<T> Clone for MinMaxResult<T>where T: Clone,
source§fn clone(&self) -> MinMaxResult<T>
fn clone(&self) -> MinMaxResult<T>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl<T> Debug for MinMaxResult<T>where
T: Debug,
impl<T> Debug for MinMaxResult<T>where T: Debug,
source§impl<T> PartialEq<MinMaxResult<T>> for MinMaxResult<T>where
T: PartialEq<T>,
impl<T> PartialEq<MinMaxResult<T>> for MinMaxResult<T>where T: PartialEq<T>,
source§fn eq(&self, other: &MinMaxResult<T>) -> bool
fn eq(&self, other: &MinMaxResult<T>) -> bool
This method tests for
self and other values to be equal, and is used
by ==.impl<T> Copy for MinMaxResult<T>where T: Copy,
impl<T> StructuralPartialEq for MinMaxResult<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for MinMaxResult<T>where T: RefUnwindSafe,
impl<T> Send for MinMaxResult<T>where T: Send,
impl<T> Sync for MinMaxResult<T>where T: Sync,
impl<T> Unpin for MinMaxResult<T>where T: Unpin,
impl<T> UnwindSafe for MinMaxResult<T>where T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
source§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.source§fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.