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
sourceimpl<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
sourceimpl<T> Clone for MinMaxResult<T>where
T: Clone,
impl<T> Clone for MinMaxResult<T>where
T: Clone,
sourcefn clone(&self) -> MinMaxResult<T>
fn clone(&self) -> MinMaxResult<T>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl<T> Debug for MinMaxResult<T>where
T: Debug,
impl<T> Debug for MinMaxResult<T>where
T: Debug,
sourceimpl<T> PartialEq<MinMaxResult<T>> for MinMaxResult<T>where
T: PartialEq<T>,
impl<T> PartialEq<MinMaxResult<T>> for MinMaxResult<T>where
T: PartialEq<T>,
sourcefn eq(&self, other: &MinMaxResult<T>) -> bool
fn eq(&self, other: &MinMaxResult<T>) -> bool
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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
sourcefn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, 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
. Read moresourcefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read moresourcefn 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. Read moresourcefn 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. Read more