Trait frunk_core::hlist::Sculptor
[−]
[src]
pub trait Sculptor<Target, Indices> { type Remainder; fn sculpt(self) -> (Target, Self::Remainder); }
An Sculptor trait, that allows us to extract/reshape/scult the current HList into another shape, provided that the requested shape's types are are contained within the current HList.
The "Indices" type parameter allows the compiler to figure out that the Target and Self can be morphed into each other
Associated Types
type Remainder
Required Methods
Implementors
impl<Source> Sculptor<HNil, HNil> for Source type Remainder = Source;
impl<THead, TTail, SHead, STail, IndexHead, IndexTail> Sculptor<HCons<THead, TTail>, HCons<IndexHead, IndexTail>> for HCons<SHead, STail> where
HCons<SHead, STail>: Plucker<THead, IndexHead>,
<HCons<SHead, STail> as Plucker<THead, IndexHead>>::Remainder: Sculptor<TTail, IndexTail>, type Remainder = <<HCons<SHead, STail> as Plucker<THead, IndexHead>>::Remainder as Sculptor<TTail, IndexTail>>::Remainder;