Enum efficient_enum::option::EfficientOptionInner
[−]
[src]
pub enum EfficientOptionInner<'a, A: 'a, B: 'a, TM: 'a = TagMSB> where
A: TaggableValue<TM, One>, { IsNone(EfficientOptionInnerNone<'a, A, B, TM>), IsSome(EfficientOptionInnerSome<'a, A, B, TM>), }
A helper type for EfficientOption
, gives access to EfficientOptionInnerNone
and
EfficientOptionInnerSome
variants.
Variants
IsNone(EfficientOptionInnerNone<'a, A, B, TM>)
IsSome(EfficientOptionInnerSome<'a, A, B, TM>)
Methods
impl<'a, TM, A, B> EfficientOptionInner<'a, A, B, TM> where
A: TaggableValue<TM, One>,
[src]
A: TaggableValue<TM, One>,
fn expect_some(self, msg: &str) -> EfficientOptionInnerSome<'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) -> EfficientOptionInnerNone<'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) -> EfficientOptionInnerSome<'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) -> EfficientOptionInnerNone<'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: EfficientOptionInnerSome<'a, A, B, TM>
) -> EfficientOptionInnerSome<'a, A, B, TM>
self,
default: EfficientOptionInnerSome<'a, A, B, TM>
) -> EfficientOptionInnerSome<'a, A, B, TM>
Returns the contained IsSome
value or a default.
fn unwrap_none_or(
self,
default: EfficientOptionInnerNone<'a, A, B, TM>
) -> EfficientOptionInnerNone<'a, A, B, TM>
self,
default: EfficientOptionInnerNone<'a, A, B, TM>
) -> EfficientOptionInnerNone<'a, A, B, TM>
Returns the contained IsNone
value or a default.
fn unwrap_some_or_else<F>(self, f: F) -> EfficientOptionInnerSome<'a, A, B, TM> where
F: FnOnce(EfficientOptionInnerNone<'a, A, B, TM>) -> EfficientOptionInnerSome<'a, A, B, TM>,
F: FnOnce(EfficientOptionInnerNone<'a, A, B, TM>) -> EfficientOptionInnerSome<'a, A, B, TM>,
Returns the contained IsSome
value or computes it from a closure.
fn unwrap_none_or_else<F>(self, f: F) -> EfficientOptionInnerNone<'a, A, B, TM> where
F: FnOnce(EfficientOptionInnerSome<'a, A, B, TM>) -> EfficientOptionInnerNone<'a, A, B, TM>,
F: FnOnce(EfficientOptionInnerSome<'a, A, B, TM>) -> EfficientOptionInnerNone<'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(EfficientOptionInnerSome<'a, A, B, TM>) -> U,
F: FnOnce(EfficientOptionInnerSome<'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(EfficientOptionInnerNone<'a, A, B, TM>) -> U,
F: FnOnce(EfficientOptionInnerNone<'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(EfficientOptionInnerNone<'a, A, B, TM>) -> U,
F: FnOnce(EfficientOptionInnerSome<'a, A, B, TM>) -> U,
D: FnOnce(EfficientOptionInnerNone<'a, A, B, TM>) -> U,
F: FnOnce(EfficientOptionInnerSome<'a, A, B, TM>) -> U,
Applies a function to the contained IsSome
value or computes a default
from the IsNone
.