pub struct EfficientOptionInnerSome<'a, A, B: 'a, TM: 'a = TagMSB>(/* private fields */)
where
A: TaggableValue<TM, One> + 'a;
Expand description
A helper type for EfficientOption
, useful for accessing ‘is_some’ data and removing it.
Implementations§
Source§impl<'a, TM, A, B> EfficientOptionInnerSome<'a, A, B, TM>where
A: TaggableValue<TM, One>,
impl<'a, TM, A, B> EfficientOptionInnerSome<'a, A, B, TM>where
A: TaggableValue<TM, One>,
Sourcepub fn as_mut(&mut self) -> (&A, &mut B)
pub fn as_mut(&mut self) -> (&A, &mut B)
Gets a reference to the A
value and a mutable reference to the B
value
Sourcepub fn destructure_0(self) -> &'a A
pub fn destructure_0(self) -> &'a A
Destructures an EfficientOptionInnerSome
into a reference to the A
value
Sourcepub fn destructure_1(self) -> &'a mut B
pub fn destructure_1(self) -> &'a mut B
Destructures an EfficientOptionInnerSome
into a mutable reference to the B
value
Sourcepub fn destructure(self) -> (&'a A, &'a mut B)
pub fn destructure(self) -> (&'a A, &'a mut B)
Destructures an EfficientOptionInnerSome
Sourcepub fn take(self) -> (EfficientOptionInnerNone<'a, A, B, TM>, (A, B))
pub fn take(self) -> (EfficientOptionInnerNone<'a, A, B, TM>, (A, B))
Takes both values out of the option, leaving a None in its place.
Sourcepub fn take_0(self) -> (EfficientOptionInnerNone<'a, A, B, TM>, A)
pub fn take_0(self) -> (EfficientOptionInnerNone<'a, A, B, TM>, A)
Takes both values out of the option, leaving a None in its place.
The version only returns the A
value
Sourcepub fn take_1(self) -> (EfficientOptionInnerNone<'a, A, B, TM>, B)
pub fn take_1(self) -> (EfficientOptionInnerNone<'a, A, B, TM>, B)
Takes both values out of the option, leaving a None in its place.
The version only returns the B
value
Auto Trait Implementations§
impl<'a, A, B, TM> Freeze for EfficientOptionInnerSome<'a, A, B, TM>
impl<'a, A, B, TM> RefUnwindSafe for EfficientOptionInnerSome<'a, A, B, TM>
impl<'a, A, B, TM> Send for EfficientOptionInnerSome<'a, A, B, TM>
impl<'a, A, B, TM> Sync for EfficientOptionInnerSome<'a, A, B, TM>
impl<'a, A, B, TM> Unpin for EfficientOptionInnerSome<'a, A, B, TM>
impl<'a, A, B, TM = TagMSB> !UnwindSafe for EfficientOptionInnerSome<'a, A, B, TM>
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