Struct frunk_core::indices::Here

source ·
pub struct Here { /* private fields */ }
Expand description

Used as an index into an HList.

Here is 0, pointing to the head of the HList.

Users should normally allow type inference to create this type.

Trait Implementations§

source§

impl<K, V, Tail> ByNameFieldPlucker<K, Here> for HCons<Field<K, V>, Tail>

Implementation when the pluck target key is in the head.

§

type TargetValue = V

§

type Remainder = Tail

source§

fn pluck_by_name(self) -> (Field<K, Self::TargetValue>, Self::Remainder)

Returns a pair consisting of the value pointed to by the target key and the remainder.
source§

impl<I, Tail> CoprodInjector<I, Here> for Coproduct<I, Tail>

source§

fn inject(to_insert: I) -> Self

Instantiate a coproduct from an element. Read more
source§

impl<Hd, Tl> CoprodUninjector<Hd, Here> for Coproduct<Hd, Tl>

§

type Remainder = Tl

source§

fn uninject(self) -> Result<Hd, Tl>

Attempt to extract a value from a coproduct (or get the remaining possibilities). Read more
source§

impl<Head, Tail> CoproductSelector<Head, Here> for Coproduct<Head, Tail>

source§

fn get(&self) -> Option<&Head>

Borrow an element from a coproduct by type. Read more
source§

impl<Head, Tail> CoproductTaker<Head, Here> for Coproduct<Head, Tail>

source§

fn take(self) -> Option<Head>

Retrieve an element from a coproduct by type, ignoring all others. Read more
source§

impl<T, Tail> LiftFrom<T, Here> for HCons<T, Tail>where Tail: Default + HList,

source§

fn lift_from(part: T) -> Self

Performs the indexed conversion.
source§

impl<T, Tail> Plucker<T, Here> for HCons<T, Tail>

Implementation when the pluck target is in head

§

type Remainder = Tail

What is left after you pluck the target from the Self
source§

fn pluck(self) -> (T, Self::Remainder)

Remove an element by type from an HList. Read more
source§

impl<T, Tail> Selector<T, Here> for HCons<T, Tail>

source§

fn get(&self) -> &T

Borrow an element by type from an HList. Read more
source§

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

Mutably borrow an element by type from an HList. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Here

§

impl Send for Here

§

impl Sync for Here

§

impl Unpin for Here

§

impl UnwindSafe for Here

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<Choices> CoproductSubsetter<CNil, HNil> for Choices

§

type Remainder = Choices

source§

fn subset( self ) -> Result<CNil, <Choices as CoproductSubsetter<CNil, HNil>>::Remainder>

Extract a subset of the possible types in a coproduct (or get the remaining possibilities) 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 Twhere 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, I> LiftInto<U, I> for Twhere U: LiftFrom<T, I>,

source§

fn lift_into(self) -> U

Performs the indexed conversion.
source§

impl<Source> Sculptor<HNil, HNil> for Source

§

type Remainder = Source

source§

fn sculpt(self) -> (HNil, <Source as Sculptor<HNil, HNil>>::Remainder)

Consumes the current HList and returns an HList with the requested shape. Read more
source§

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

§

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 Twhere U: TryFrom<T>,

§

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.