Enum strict::OneToThree
source · pub enum OneToThree<T> {
One(T),
Two(T, T),
Three(T, T, T),
}
Expand description
An ordered set of 1, 2 or 3 elements, allowing pattern matching.
Implements Copy, Clone, PartialEq, Eq, Debug, etc. if the element type does.
Variants§
Implementations§
source§impl<T> OneToThree<T>
impl<T> OneToThree<T>
pub fn one(a: T) -> Self
pub fn two(a: T, b: T) -> Self
pub fn three(a: T, b: T, c: T) -> Self
pub fn len(&self) -> usize
pub fn iter(&self) -> OneToThreeIter<'_, T> ⓘ
pub fn first(&self) -> &T
pub fn first_mut(&mut self) -> &mut T
pub fn get(&self, i: usize) -> Option<&T>
pub fn get_mut(&mut self, i: usize) -> Option<&mut T>
pub fn to_vec(self) -> Vec<T>
pub fn to_ref_vec(&self) -> Vec<&T>
pub fn sorted(self) -> Selfwhere
T: PartialOrd,
pub fn map<B, F>(self, f: F) -> OneToThree<B>where
F: Fn(T) -> B,
pub fn try_map<B, E, F>(self, f: F) -> Result<OneToThree<B>, E>
Trait Implementations§
source§impl<T: Debug> Debug for OneToThree<T>
impl<T: Debug> Debug for OneToThree<T>
source§impl<T> From<(T, T)> for OneToThree<T>
impl<T> From<(T, T)> for OneToThree<T>
source§impl<T> From<(T, T, T)> for OneToThree<T>
impl<T> From<(T, T, T)> for OneToThree<T>
source§impl<T> From<T> for OneToThree<T>
impl<T> From<T> for OneToThree<T>
source§impl<T: Hash> Hash for OneToThree<T>
impl<T: Hash> Hash for OneToThree<T>
source§impl<'a, T> IntoIterator for &'a OneToThree<T>
impl<'a, T> IntoIterator for &'a OneToThree<T>
source§impl<T: PartialEq> PartialEq for OneToThree<T>
impl<T: PartialEq> PartialEq for OneToThree<T>
source§impl<T> TryFrom<Vec<T>> for OneToThree<T>
impl<T> TryFrom<Vec<T>> for OneToThree<T>
impl<T: Copy> Copy for OneToThree<T>
impl<T: Eq> Eq for OneToThree<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for OneToThree<T>where
T: RefUnwindSafe,
impl<T> Send for OneToThree<T>where
T: Send,
impl<T> Sync for OneToThree<T>where
T: Sync,
impl<T> Unpin for OneToThree<T>where
T: Unpin,
impl<T> UnwindSafe for OneToThree<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