Struct frunk::indices::Here

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§

§

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

§

fn pluck_by_name( self ) -> (Field<K, <HCons<Field<K, V>, Tail> as ByNameFieldPlucker<K, Here>>::TargetValue>, <HCons<Field<K, V>, Tail> as ByNameFieldPlucker<K, Here>>::Remainder)

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

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

§

fn inject(to_insert: I) -> Coproduct<I, Tail>

Instantiate a coproduct from an element. Read more
§

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

§

type Remainder = Tl

§

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

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

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

§

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

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

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

§

fn take(self) -> Option<Head>

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

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

§

fn lift_from(part: T) -> HCons<T, Tail>

Performs the indexed conversion.
§

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
§

fn pluck(self) -> (T, <HCons<T, Tail> as Plucker<T, Here>>::Remainder)

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

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

§

fn get(&self) -> &T

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

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

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

Auto Trait Implementations§

§

impl Freeze for Here

§

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

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

§

type Remainder = Choices

§

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

§

impl<T, U, I> LiftInto<U, I> for T
where U: LiftFrom<T, I>,

§

fn lift_into(self) -> U

Performs the indexed conversion.
§

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

§

type Remainder = 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 T
where 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 T
where 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.