Enum EfficientOptionInner

Source
pub enum EfficientOptionInner<'a, A, B: 'a, TM: 'a = TagMSB>
where A: TaggableValue<TM, One> + 'a,
{ IsNone(EfficientOptionInnerNone<'a, A, B, TM>), IsSome(EfficientOptionInnerSome<'a, A, B, TM>), }
Expand description

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>)

Implementations§

Source§

impl<'a, TM, A, B> EfficientOptionInner<'a, A, B, TM>
where A: TaggableValue<TM, One>,

Source

pub 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.

Source

pub 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.

Source

pub 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.

Source

pub 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.

Source

pub fn unwrap_some_or( self, default: EfficientOptionInnerSome<'a, A, B, TM>, ) -> EfficientOptionInnerSome<'a, A, B, TM>

Returns the contained IsSome value or a default.

Source

pub fn unwrap_none_or( self, default: EfficientOptionInnerNone<'a, A, B, TM>, ) -> EfficientOptionInnerNone<'a, A, B, TM>

Returns the contained IsNone value or a default.

Source

pub 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>,

Returns the contained IsSome value or computes it from a closure.

Source

pub 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>,

Returns the contained IsNone value or computes it from a closure.

Source

pub fn map_some_or<U, F>(self, default: U, f: F) -> U
where F: FnOnce(EfficientOptionInnerSome<'a, A, B, TM>) -> U,

Applies a function to the contained IsSome value or returns a default.

Source

pub fn map_none_or<U, F>(self, default: U, f: F) -> U
where F: FnOnce(EfficientOptionInnerNone<'a, A, B, TM>) -> U,

Applies a function to the contained IsNone value or returns a default.

Source

pub 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,

Applies a function to the contained IsSome value or computes a default from the IsNone.

Auto Trait Implementations§

§

impl<'a, A, B, TM> Freeze for EfficientOptionInner<'a, A, B, TM>

§

impl<'a, A, B, TM> RefUnwindSafe for EfficientOptionInner<'a, A, B, TM>

§

impl<'a, A, B, TM> Send for EfficientOptionInner<'a, A, B, TM>
where B: Send, A: Send, TM: Send,

§

impl<'a, A, B, TM> Sync for EfficientOptionInner<'a, A, B, TM>
where B: Sync, A: Sync, TM: Sync,

§

impl<'a, A, B, TM> Unpin for EfficientOptionInner<'a, A, B, TM>

§

impl<'a, A, B, TM = TagMSB> !UnwindSafe for EfficientOptionInner<'a, A, B, TM>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.