Enum efficient_enum::option::EfficientOptionTupleInner
[−]
[src]
pub enum EfficientOptionTupleInner<'a, A: 'a, B: 'a, TM: 'a = TagMSB> where
A: TaggableValue<TM, Two>, { IsNone(EfficientOptionTupleInnerNone<'a, A, B, TM>), IsSome(EfficientOptionTupleInnerSome<'a, A, B, TM>), }
A helper type useful for accessing the lack of data or replacing it with nothing without having to use unwraps.
Variants
IsNone(EfficientOptionTupleInnerNone<'a, A, B, TM>)
IsSome(EfficientOptionTupleInnerSome<'a, A, B, TM>)
Methods
impl<'a, TM, A, B> EfficientOptionTupleInner<'a, A, B, TM> where
A: TaggableValue<TM, Two>,
[src]
A: TaggableValue<TM, Two>,
fn expect_some(self, msg: &str) -> EfficientOptionTupleInnerSome<'a, A, B, TM>
Unwraps an option, yielding the content of a IsSome
.
Panics
Panics if the value is a IsNone
with a custom panic message provided by
msg
.
fn expect_none(self, msg: &str) -> EfficientOptionTupleInnerNone<'a, A, B, TM>
Unwraps an option, yielding the content of a IsNone
.
Panics
Panics if the value is a IsSome
with a custom panic message provided by
msg
.
fn unwrap_some(self) -> EfficientOptionTupleInnerSome<'a, A, B, TM>
Moves the value v
out if it is IsSome(v)
.
In general, because this function may panic, its use is discouraged.
Instead, prefer to use pattern matching and handle the IsNone
case explicitly.
Panics
Panics if the self value equals IsNone
.
fn unwrap_none(self) -> EfficientOptionTupleInnerNone<'a, A, B, TM>
Moves the value v
out if it is IsNone(v)
.
In general, because this function may panic, its use is discouraged.
Instead, prefer to use pattern matching and handle the IsSome
case explicitly.
Panics
Panics if the self value equals IsSome
.
fn unwrap_some_or(
self,
default: EfficientOptionTupleInnerSome<'a, A, B, TM>
) -> EfficientOptionTupleInnerSome<'a, A, B, TM>
self,
default: EfficientOptionTupleInnerSome<'a, A, B, TM>
) -> EfficientOptionTupleInnerSome<'a, A, B, TM>
Returns the contained IsSome
value or a default.
fn unwrap_none_or(
self,
default: EfficientOptionTupleInnerNone<'a, A, B, TM>
) -> EfficientOptionTupleInnerNone<'a, A, B, TM>
self,
default: EfficientOptionTupleInnerNone<'a, A, B, TM>
) -> EfficientOptionTupleInnerNone<'a, A, B, TM>
Returns the contained IsNone
value or a default.
fn unwrap_some_or_else<F>(
self,
f: F
) -> EfficientOptionTupleInnerSome<'a, A, B, TM> where
F: FnOnce(EfficientOptionTupleInnerNone<'a, A, B, TM>) -> EfficientOptionTupleInnerSome<'a, A, B, TM>,
self,
f: F
) -> EfficientOptionTupleInnerSome<'a, A, B, TM> where
F: FnOnce(EfficientOptionTupleInnerNone<'a, A, B, TM>) -> EfficientOptionTupleInnerSome<'a, A, B, TM>,
Returns the contained IsSome
value or computes it from a closure.
fn unwrap_none_or_else<F>(
self,
f: F
) -> EfficientOptionTupleInnerNone<'a, A, B, TM> where
F: FnOnce(EfficientOptionTupleInnerSome<'a, A, B, TM>) -> EfficientOptionTupleInnerNone<'a, A, B, TM>,
self,
f: F
) -> EfficientOptionTupleInnerNone<'a, A, B, TM> where
F: FnOnce(EfficientOptionTupleInnerSome<'a, A, B, TM>) -> EfficientOptionTupleInnerNone<'a, A, B, TM>,
Returns the contained IsNone
value or computes it from a closure.
fn map_some_or<U, F>(self, default: U, f: F) -> U where
F: FnOnce(EfficientOptionTupleInnerSome<'a, A, B, TM>) -> U,
F: FnOnce(EfficientOptionTupleInnerSome<'a, A, B, TM>) -> U,
Applies a function to the contained IsSome
value or returns a default
.
fn map_none_or<U, F>(self, default: U, f: F) -> U where
F: FnOnce(EfficientOptionTupleInnerNone<'a, A, B, TM>) -> U,
F: FnOnce(EfficientOptionTupleInnerNone<'a, A, B, TM>) -> U,
Applies a function to the contained IsNone
value or returns a default
.
fn map<U, D, F>(self, default: D, f: F) -> U where
D: FnOnce(EfficientOptionTupleInnerNone<'a, A, B, TM>) -> U,
F: FnOnce(EfficientOptionTupleInnerSome<'a, A, B, TM>) -> U,
D: FnOnce(EfficientOptionTupleInnerNone<'a, A, B, TM>) -> U,
F: FnOnce(EfficientOptionTupleInnerSome<'a, A, B, TM>) -> U,
Applies a function to the contained IsSome
value or computes a default
from the IsNone
.