[−][src]Struct typsy::hlist::Cons
Fields
value: T
rest: R
Trait Implementations
impl<T, R: HList> Access<T, Zero> for Cons<T, R>
[src]
type Remainder = R
pub fn take(self) -> (T, Self::Remainder)
[src]
pub fn get(&self) -> &T
[src]
pub fn get_mut(&mut self) -> &mut T
[src]
impl<T, U, R: Access<U, N>, N> Access<U, Succ<N>> for Cons<T, R>
[src]
type Remainder = Cons<T, R::Remainder>
pub fn take(self) -> (U, Self::Remainder)
[src]
pub fn get(&self) -> &U
[src]
pub fn get_mut(&mut self) -> &mut U
[src]
impl<T, R: AnonType, Name> AnonType for Cons<Named<T, Name>, R>
[src]
impl<T, R: AnonType> AnonType for Cons<Unnamed<T>, R>
[src]
impl<'a, F, T: 'a> Any<'a, F, ()> for Cons<T, Nil> where
F: CallOnce<(&'a T,), Output = bool>,
[src]
F: CallOnce<(&'a T,), Output = bool>,
impl<'a, F, T: 'a, R: NonEmpty> Any<'a, F, ()> for Cons<T, R> where
F: CallMut<(&'a T,), Output = bool>,
R: Any<'a, F>,
[src]
F: CallMut<(&'a T,), Output = bool>,
R: Any<'a, F>,
impl<'a, F, T: 'a, N> Any<'a, F, (N, ())> for Cons<T, Nil> where
F: CallOnce<(&'a T,), N, Output = bool>,
[src]
F: CallOnce<(&'a T,), N, Output = bool>,
impl<'a, F, T: 'a, R: NonEmpty, N, M> Any<'a, F, (N, M)> for Cons<T, R> where
F: CallMut<(&'a T,), N, Output = bool>,
R: Any<'a, F, M>,
[src]
F: CallMut<(&'a T,), N, Output = bool>,
R: Any<'a, F, M>,
impl<'a, T: 'a, R: AsRef<'a>> AsRef<'a> for Cons<T, R>
[src]
type Ref = Cons<&'a T, R::Ref>
type RefMut = Cons<&'a mut T, R::RefMut>
pub fn as_ref(&'a self) -> Self::Ref
[src]
pub fn as_mut(&'a mut self) -> Self::RefMut
[src]
impl<Args, N, F, R: Call<Args, N>> Call<Args, Succ<N>> for Cons<F, R>
[src]
impl<Args, F: Fn(Args) -> O, O, R> Call<Args, Zero> for Cons<F, R>
[src]
impl<Args, N, F, R: CallMut<Args, N>> CallMut<Args, Succ<N>> for Cons<F, R>
[src]
impl<Args, F: FnMut(Args) -> O, O, R> CallMut<Args, Zero> for Cons<F, R>
[src]
impl<Args, N, F, R: CallOnce<Args, N>> CallOnce<Args, Succ<N>> for Cons<F, R>
[src]
impl<Args, F: FnOnce(Args) -> O, O, R> CallOnce<Args, Zero> for Cons<F, R>
[src]
impl<T: Clone, R: Clone> Clone for Cons<T, R>
[src]
pub fn clone(&self) -> Cons<T, R>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T, R: Concat<L>, L: HList> Concat<L> for Cons<T, R>
[src]
impl<T, R: HList> Convert for Cons<T, R>
[src]
type HList = Self
pub fn into_hlist(self) -> Self::HList
[src]
pub fn from_hlist(this: Self::HList) -> Self
[src]
impl<T: Copy, R: Copy> Copy for Cons<T, R>
[src]
impl<T: Debug, R: Debug> Debug for Cons<T, R>
[src]
impl<T, R> DeepTransformFrom<Cons<T, R>, ()> for Nil
[src]
pub fn deep_transform_from(_: Cons<T, R>) -> Self
[src]
impl<T, Rt, L: DeepTransform<Rt, Ri>, I, Ri> DeepTransformFrom<Cons<Unnamed<T>, L>, (I, Ri)> for Cons<Unnamed<T>, Rt>
[src]
pub fn deep_transform_from(list: Cons<Unnamed<T>, L>) -> Self
[src]
impl<T, Rt, L, I, Ti, Ri, Name> DeepTransformFrom<L, (I, Ti, Ri)> for Cons<Named<T, Name>, Rt> where
L: RemoveField<Name, I>,
L::Value: DeepTransform<T, Ti>,
L::Remainder: DeepTransform<Rt, Ri>,
[src]
L: RemoveField<Name, I>,
L::Value: DeepTransform<T, Ti>,
L::Remainder: DeepTransform<Rt, Ri>,
pub fn deep_transform_from(list: L) -> Self
[src]
impl<T: Eq, R: Eq> Eq for Cons<T, R>
[src]
impl<T, R: HList> HList for Cons<T, R>
[src]
impl<T: Hash, R: Hash> Hash for Cons<T, R>
[src]
pub fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<T, R: CoProd, C, N, M> IntoSubset<CoCons<T, R>, Cons<PhantomData<N>, M>> for C where
C: Access<T, N>,
C::Remainder: IntoSubset<R, M>,
[src]
C: Access<T, N>,
C::Remainder: IntoSubset<R, M>,
type Remainder = <C::Remainder as IntoSubset<R, M>>::Remainder
pub fn into_subset(self) -> Result<CoCons<T, R>, Self::Remainder>
[src]
impl<T, R, C, N, M> IntoSuperset<C, Cons<PhantomData<N>, M>> for CoCons<T, R> where
C: Access<T, N>,
R: IntoSuperset<C, M>,
[src]
C: Access<T, N>,
R: IntoSuperset<C, M>,
pub fn into_superset(self) -> C
[src]
impl<F: CallOnce<(T,)>, T> Map<F, ()> for Cons<T, Nil>
[src]
impl<F: CallMut<(T,)>, T, R: NonEmpty + Map<F>> Map<F, ()> for Cons<T, R>
[src]
impl<F: CallOnce<(T,), N>, T, N> Map<F, (N, ())> for Cons<T, Nil>
[src]
impl<F: CallMut<(T,), N>, T, R: NonEmpty + Map<F, M>, N, M> Map<F, (N, M)> for Cons<T, R>
[src]
impl<T, R: HList> NonEmpty for Cons<T, R>
[src]
impl<T: Ord, R: Ord> Ord for Cons<T, R>
[src]
pub fn cmp(&self, other: &Cons<T, R>) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl<T: PartialEq, R: PartialEq> PartialEq<Cons<T, R>> for Cons<T, R>
[src]
impl<T: PartialOrd, R: PartialOrd> PartialOrd<Cons<T, R>> for Cons<T, R>
[src]
pub fn partial_cmp(&self, other: &Cons<T, R>) -> Option<Ordering>
[src]
pub fn lt(&self, other: &Cons<T, R>) -> bool
[src]
pub fn le(&self, other: &Cons<T, R>) -> bool
[src]
pub fn gt(&self, other: &Cons<T, R>) -> bool
[src]
pub fn ge(&self, other: &Cons<T, R>) -> bool
[src]
impl<T, Name, R: RemoveField<Name, N>, N> RemoveField<Name, Succ<N>> for Cons<T, R>
[src]
type Value = R::Value
type Remainder = Cons<T, R::Remainder>
pub fn remove_field(self) -> (Self::Value, Self::Remainder)
[src]
impl<T, Name, R> RemoveField<Name, Zero> for Cons<Named<T, Name>, R>
[src]
impl<T, U, R: HList, S: HList, N, M> Split<Cons<U, S>, Cons<PhantomData<N>, M>> for Cons<T, R> where
Self: Access<U, N>,
Self::Remainder: Split<S, M>,
[src]
Self: Access<U, N>,
Self::Remainder: Split<S, M>,
type Remainder = <Self::Remainder as Split<S, M>>::Remainder
pub fn split(self) -> (Cons<U, S>, Self::Remainder)
[src]
impl<T, R> StructuralEq for Cons<T, R>
[src]
impl<T, R> StructuralPartialEq for Cons<T, R>
[src]
impl<T, R> Transform for Cons<T, R> where
Self: AnonType,
[src]
Self: AnonType,
type Canon = Self
pub fn from_canon(anon: Self::Canon) -> Self
[src]
pub fn into_canon(self) -> Self::Canon
[src]
pub fn transform<O: Transform, N>(self) -> O where
Self::Canon: Shuffle<O::Canon, N>,
[src]
Self::Canon: Shuffle<O::Canon, N>,
pub fn deep_transform<O: Transform, N>(self) -> O where
Self::Canon: DeepTransform<O::Canon, N>,
[src]
Self::Canon: DeepTransform<O::Canon, N>,
impl<A, F, T, O, E> TryFold<A, F, ()> for Cons<T, Nil> where
F: CallOnce<(A, T), Output = Result<O, E>>,
[src]
F: CallOnce<(A, T), Output = Result<O, E>>,
type Output = O
type Error = CoCons<E, CoNil>
pub fn try_fold(self, acc: A, f: F) -> Result<Self::Output, Self::Error>
[src]
impl<A, F, T, R: HList, O, E> TryFold<A, F, ()> for Cons<T, R> where
F: CallMut<(A, T), Output = Result<O, E>>,
R: NonEmpty + TryFold<O, F>,
[src]
F: CallMut<(A, T), Output = Result<O, E>>,
R: NonEmpty + TryFold<O, F>,
type Output = R::Output
type Error = CoCons<E, R::Error>
pub fn try_fold(self, acc: A, mut f: F) -> Result<Self::Output, Self::Error>
[src]
impl<A, F, T, O, E, N> TryFold<A, F, (N, ())> for Cons<T, Nil> where
F: CallOnce<(A, T), N, Output = Result<O, E>>,
[src]
F: CallOnce<(A, T), N, Output = Result<O, E>>,
type Output = O
type Error = CoCons<E, CoNil>
pub fn try_fold(self, acc: A, f: F) -> Result<Self::Output, Self::Error>
[src]
impl<A, F, T, R: HList, O, E, N, M> TryFold<A, F, (N, M)> for Cons<T, R> where
F: CallMut<(A, T), N, Output = Result<O, E>>,
R: NonEmpty + TryFold<O, F, M>,
[src]
F: CallMut<(A, T), N, Output = Result<O, E>>,
R: NonEmpty + TryFold<O, F, M>,
type Output = R::Output
type Error = CoCons<E, R::Error>
pub fn try_fold(self, acc: A, mut f: F) -> Result<Self::Output, Self::Error>
[src]
impl<T, U, R: UnZip> UnZip for Cons<(T, U), R>
[src]
type Left = Cons<T, R::Left>
type Right = Cons<U, R::Right>
type Flipped = Cons<(U, T), R::Flipped>
pub fn unzip(self) -> (Self::Left, Self::Right)
[src]
pub fn flip(self) -> Self::Flipped
[src]
impl<T, U, R: Zip<S>, S> Zip<Cons<U, S>> for Cons<T, R>
[src]
Auto Trait Implementations
impl<T, R> Send for Cons<T, R> where
R: Send,
T: Send,
[src]
R: Send,
T: Send,
impl<T, R> Sync for Cons<T, R> where
R: Sync,
T: Sync,
[src]
R: Sync,
T: Sync,
impl<T, R> Unpin for Cons<T, R> where
R: Unpin,
T: Unpin,
[src]
R: Unpin,
T: Unpin,
Blanket Implementations
impl<T> Access for T
[src]
pub fn field<N, T, Name: 'static>(&self) -> &T where
Self: Access<Named<T, Name>, N>,
[src]
Self: Access<Named<T, Name>, N>,
pub fn field_mut<N, T, Name: 'static>(&mut self) -> &mut T where
Self: Access<Named<T, Name>, N>,
[src]
Self: Access<Named<T, Name>, N>,
pub fn take_field<N, T, Name>(self) -> (T, Self::Remainder) where
Self: Access<Named<T, Name>, N>,
[src]
Self: Access<Named<T, Name>, N>,
impl<'a, F, T, TagList> All<'a, F, TagList> for T where
T: Any<'a, Not<F>, TagList>,
[src]
T: Any<'a, Not<F>, TagList>,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoNamed for T where
T: AnonType,
[src]
T: AnonType,
pub fn into_named<T, N>(self) -> T where
Self: Shuffle<T::Canon, N>,
T: Transform,
[src]
Self: Shuffle<T::Canon, N>,
T: Transform,
impl<T, R, C, N, M> IntoSubset<CoCons<T, R>, Cons<PhantomData<N>, M>> for C where
C: Access<T, N>,
R: CoProd,
<C as Access<T, N>>::Remainder: IntoSubset<R, M>,
[src]
C: Access<T, N>,
R: CoProd,
<C as Access<T, N>>::Remainder: IntoSubset<R, M>,
type Remainder = <<C as Access<T, N>>::Remainder as IntoSubset<R, M>>::Remainder
pub fn into_subset(
Self
) -> Result<CoCons<T, R>, <C as IntoSubset<CoCons<T, R>, Cons<PhantomData<N>, M>>>::Remainder>
[src]
Self
) -> Result<CoCons<T, R>, <C as IntoSubset<CoCons<T, R>, Cons<PhantomData<N>, M>>>::Remainder>
impl<T, U, N> Shuffle<U, N> for T where
T: HList + Split<U, N, Remainder = Nil>,
U: HList,
[src]
T: HList + Split<U, N, Remainder = Nil>,
U: HList,
impl<T> Split<Nil, Nil> for T where
T: HList,
[src]
T: HList,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,