[][src]Struct agnes::cons::Cons

pub struct Cons<H, T> {
    pub head: H,
    pub tail: T,
}

Buildling block of a heterogeneous type list.

Fields

head: H

Value of this element of the type list.

tail: T

Remaining elements of the type list.

Trait Implementations

impl<NewH, H, T> PushFront<NewH> for Cons<H, T>[src]

type Output = Cons<NewH, Self>

The resulting cons-list type after pushing the specified H element to the front of the existing list. Read more

impl<U, H, T> PushBack<U> for Cons<H, T> where
    T: PushBack<U>, 
[src]

type Output = Cons<H, T::Output>

The resulting cons-list type after pushing the specified H element to the front of the existing list. Read more

impl<List, H, T> Append<List> for Cons<H, T> where
    T: Append<List>, 
[src]

type Appended = Cons<H, T::Appended>

The resulting cons-list type after adding the element of the target list to the end of the existing list. Read more

impl<Head, Tail> Len for Cons<Head, Tail> where
    Tail: Len,
    <Tail as Len>::Len: Add<B1>,
    <<Tail as Len>::Len as Add<B1>>::Output: Unsigned
[src]

type Len = Add1<<Tail as Len>::Len>

typenum-based list length.

fn is_empty() -> bool[src]

Returns true if length is 0, and false otherwise.

fn len() -> usize[src]

Returns the length of this list.

impl<NeedleLbl, NeedleValue, NeedleTail, Haystack> HasLabels<Cons<Labeled<NeedleLbl, NeedleValue>, NeedleTail>> for Haystack where
    Haystack: Member<NeedleLbl, IsMember = True>,
    Haystack: HasLabels<NeedleTail>, 
[src]

impl<LLabel, LValue, LTail, RLabel, RValue, RTail> SetDiff<Cons<Labeled<RLabel, RValue>, RTail>> for LVCons<LLabel, LValue, LTail> where
    Self: SetDiffStep<LVCons<RLabel, RValue, RTail>, LVCons<RLabel, RValue, RTail>>, 
[src]

type Set = Self::Set

The set of labels that exist in Self and not in RightSet.

impl<LLabel, LValue, LTail, RLabel, RValue, RTail, FullRightSet> SetDiffStep<Cons<Labeled<RLabel, RValue>, RTail>, FullRightSet> for LVCons<LLabel, LValue, LTail> where
    LLabel: LabelEq<RLabel>,
    Self: SetDiffMatch<LVCons<RLabel, RValue, RTail>, FullRightSet, <LLabel as LabelEq<RLabel>>::Eq>, 
[src]

type Set = Self::Set

The set of labels that exist in Self and not in RightSet.

impl<LLabel, LValue, LTail, RLabel, RValue, RTail, FullRightSet> SetDiffMatch<Cons<Labeled<RLabel, RValue>, RTail>, FullRightSet, B0> for LVCons<LLabel, LValue, LTail> where
    LVCons<LLabel, LValue, LTail>: SetDiffStep<RTail, FullRightSet>, 
[src]

type Set = <LVCons<LLabel, LValue, LTail> as SetDiffStep<RTail, FullRightSet>>::Set

The set of labels that exist in Self and not in RightSet.

impl<LLabel, LValue, LTail, RLabel, RValue, RTail, FullRightSet> SetDiffMatch<Cons<Labeled<RLabel, RValue>, RTail>, FullRightSet, B1> for LVCons<LLabel, LValue, LTail> where
    LTail: SetDiffStep<RTail, FullRightSet>, 
[src]

type Set = <LTail as SetDiffStep<RTail, FullRightSet>>::Set

The set of labels that exist in Self and not in RightSet.

impl<H, T> LookupElemByNat<UTerm> for Cons<H, T>[src]

type Elem = H

Type of looked-up element.

impl<H, T> LookupElemByNat<UInt<UTerm, B1>> for Cons<H, T> where
    T: LookupElemByNat<UTerm>, 
[src]

type Elem = <T as LookupElemByNat<UTerm>>::Elem

Type of looked-up element.

impl<H, T, N> LookupElemByNat<UInt<N, B0>> for Cons<H, T> where
    N: Sub<B1>,
    T: LookupElemByNat<UInt<Sub1<N>, B1>>, 
[src]

type Elem = <T as LookupElemByNat<UInt<Sub1<N>, B1>>>::Elem

Type of looked-up element.

impl<H, T, N, B> LookupElemByNat<UInt<UInt<N, B>, B1>> for Cons<H, T> where
    T: LookupElemByNat<UInt<UInt<N, B>, B0>>, 
[src]

type Elem = <T as LookupElemByNat<UInt<UInt<N, B>, B0>>>::Elem

Type of looked-up element.

impl<H, T> TakeElemByNat<UTerm> for Cons<H, T>[src]

type Elem = H

Type of taken element.

type Rest = T

Type of remaining cons-list after element was taken.

impl<H, T> TakeElemByNat<UInt<UTerm, B1>> for Cons<H, T> where
    T: TakeElemByNat<UTerm>, 
[src]

type Elem = <T as TakeElemByNat<UTerm>>::Elem

Type of taken element.

type Rest = Cons<H, <T as TakeElemByNat<UTerm>>::Rest>

Type of remaining cons-list after element was taken.

impl<H, T, N> TakeElemByNat<UInt<N, B0>> for Cons<H, T> where
    N: Sub<B1>,
    T: TakeElemByNat<UInt<Sub1<N>, B1>>, 
[src]

type Elem = <T as TakeElemByNat<UInt<Sub1<N>, B1>>>::Elem

Type of taken element.

type Rest = Cons<H, <T as TakeElemByNat<UInt<Sub1<N>, B1>>>::Rest>

Type of remaining cons-list after element was taken.

impl<H, T, N, B> TakeElemByNat<UInt<UInt<N, B>, B1>> for Cons<H, T> where
    T: TakeElemByNat<UInt<UInt<N, B>, B0>>, 
[src]

type Elem = <T as TakeElemByNat<UInt<UInt<N, B>, B0>>>::Elem

Type of taken element.

type Rest = Cons<H, <T as TakeElemByNat<UInt<UInt<N, B>, B0>>>::Rest>

Type of remaining cons-list after element was taken.

impl<LabelList, H, T> LabelSubsetPred<LabelList, B1> for Cons<H, T> where
    T: LabelSubset<LabelList>, 
[src]

type Output = Cons<H, <T as LabelSubset<LabelList>>::Output>

Subset of Self that are labeled with labels in LabelList.

impl<LabelList, H, T> LabelSubsetPred<LabelList, B0> for Cons<H, T> where
    T: LabelSubset<LabelList>, 
[src]

type Output = <T as LabelSubset<LabelList>>::Output

Subset of Self that are labeled with labels in LabelList.

impl<L, V, T, TargetL, TargetV, TargetT> Reorder<Cons<Labeled<TargetL, TargetV>, TargetT>> for LVCons<L, V, T> where
    LVCons<L, V, T>: HasLabels<LVCons<TargetL, TargetV, TargetT>>,
    LVCons<TargetL, TargetV, TargetT>: HasLabels<LVCons<L, V, T>>,
    LVCons<TargetL, TargetV, TargetT>: Reordering<Self>, 
[src]

type Output = <LVCons<TargetL, TargetV, TargetT> as Reordering<Self>>::Output

The values from Self, re-ordered to match the ordering of TargetOrdering.

impl<L, V, T, TargetL, TargetV, TargetT> Reordering<Cons<Labeled<L, V>, T>> for LVCons<TargetL, TargetV, TargetT> where
    LVCons<L, V, T>: TakeElemByLabel<TargetL>,
    <LVCons<L, V, T> as TakeElemByLabel<TargetL>>::Elem: Valued,
    TargetT: Reordering<<LVCons<L, V, T> as TakeElemByLabel<TargetL>>::Rest>, 
[src]

type Output = LVCons<TargetL, <<LVCons<L, V, T> as TakeElemByLabel<TargetL>>::Elem as Valued>::Value, <TargetT as Reordering<<LVCons<L, V, T> as TakeElemByLabel<TargetL>>::Rest>>::Output>

The values from Original, re-ordered to match the ordering of Self.

impl<Label, FrameIndex, FrameLabel, Tail, Frames, Store> JoinIntoStore<Cons<Labeled<Label, PhantomData<FrameDetailMarkers<FrameIndex, FrameLabel>>>, Tail>, Store> for Frames where
    Frames: LookupValuedElemByLabel<FrameIndex>,
    FrameByFrameIndexOf<Frames, FrameIndex>: SelectFieldByLabel<FrameLabel>,
    FieldTypeFromFrameDetailsOf<Frames, FrameIndex, FrameLabel>: Debug,
    Store: PushBackClonedFromValueIter<Label, FieldTypeFromFrameDetailsOf<Frames, FrameIndex, FrameLabel>>,
    Frames: JoinIntoStore<Tail, DataStore<<Store as PushBackClonedFromValueIter<Label, FieldTypeFromFrameDetailsOf<Frames, FrameIndex, FrameLabel>>>::OutputFields>>, 
[src]

type Output = <Frames as JoinIntoStore<Tail, DataStore<<Store as PushBackClonedFromValueIter<Label, FieldTypeFromFrameDetailsOf<Frames, FrameIndex, FrameLabel>>>::OutputFields>>>::Output

The output type after augmenting Store.

impl<Label, FrameIndex, FrameLabel, LookupTail, Frames> AssocDataIndexCons<Cons<Labeled<Label, PhantomData<FrameDetailMarkers<FrameIndex, FrameLabel>>>, LookupTail>> for Frames where
    Self: SelectFieldFromLabels<LMCons<Label, FrameDetailMarkers<FrameIndex, FrameLabel>, LookupTail>, Label>,
    Self: AssocDataIndexCons<LookupTail>,
    Self::Output: Typed
[src]

type Output = DataIndexCons<Label, TypeOf<<Frames as SelectFieldFromLabels<LMCons<Label, FrameDetailMarkers<FrameIndex, FrameLabel>, LookupTail>, Label>>::Output>, <Frames as SelectFieldFromLabels<LMCons<Label, FrameDetailMarkers<FrameIndex, FrameLabel>, LookupTail>, Label>>::Output, <Frames as AssocDataIndexCons<LookupTail>>::Output>

Type of associated data index cons-list.

impl<Head, Tail> HashIndex for Cons<Head, Tail> where
    Head: HashIndex,
    Tail: HashIndex
[src]

impl<Head, Tail> PartialEqIndex for Cons<Head, Tail> where
    Head: PartialEqIndex,
    Tail: PartialEqIndex
[src]

impl<LabelList, H, T> SubsetClonePred<LabelList, B1> for Cons<H, T> where
    T: SubsetClone<LabelList>,
    H: Clone
[src]

type Output = Cons<H, <T as SubsetClone<LabelList>>::Output>

Output of applying $req_fn to values in this cons-list if IsMember is True.

impl<LabelList, H, T> SubsetClonePred<LabelList, B0> for Cons<H, T> where
    T: SubsetClone<LabelList>, 
[src]

type Output = <T as SubsetClone<LabelList>>::Output

Output of applying $req_fn to values in this cons-list if IsMember is True.

impl<H: Clone, T: Clone> Clone for Cons<H, T>[src]

default fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl<H: PartialEq, T: PartialEq> PartialEq<Cons<H, T>> for Cons<H, T>[src]

impl<H: Eq, T: Eq> Eq for Cons<H, T>[src]

impl<H: Hash, T: Hash> Hash for Cons<H, T>[src]

default fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl<H: Debug, T: Debug> Debug for Cons<H, T>[src]

Auto Trait Implementations

impl<H, T> Send for Cons<H, T> where
    H: Send,
    T: Send

impl<H, T> Sync for Cons<H, T> where
    H: Sync,
    T: Sync

Blanket Implementations

impl<T> IntoLabeled for T[src]

impl<T> HasLabels for T[src]

impl<NeedleLbl, NeedleValue, NeedleTail, Haystack> HasLabels for Haystack where
    Haystack: Member<NeedleLbl, IsMember = B1> + HasLabels<NeedleTail>, 
[src]

impl<Needle, Haystack> HasLabels for Haystack where
    Haystack: Member<Needle, IsMember = B1>,
    Needle: Label
[src]

impl<L, T> LookupElemByLabel for T where
    T: LookupNatByLabel<L> + LookupElemByNat<<T as LookupNatByLabel<L>>::Nat>, 
[src]

type Elem = <T as LookupElemByNat<<T as LookupNatByLabel<L>>::Nat>>::Elem

Type of lookup-up element.

impl<L, T> TakeElemByLabel for T where
    T: LookupNatByLabel<L> + TakeElemByNat<<T as LookupNatByLabel<L>>::Nat>, 
[src]

type Elem = <T as TakeElemByNat<<T as LookupNatByLabel<L>>::Nat>>::Elem

Type of taken element.

type Rest = <T as TakeElemByNat<<T as LookupNatByLabel<L>>::Nat>>::Rest

Type of remaining cons-list after element was taken.

impl<T, L> LookupValuedElemByLabel for T where
    T: LookupElemByLabel<L>,
    <T as LookupElemByLabel<L>>::Elem: Valued
[src]

type Elem = <T as LookupElemByLabel<L>>::Elem

Type of looked-up element.

impl<T, L> LookupMarkedElemByLabel for T where
    T: LookupElemByLabel<L>,
    <T as LookupElemByLabel<L>>::Elem: Marked
[src]

type Elem = <T as LookupElemByLabel<L>>::Elem

Marker type of looked-up element.

impl<T, L> LookupTypedElemByLabel for T where
    T: LookupElemByLabel<L>,
    <T as LookupElemByLabel<L>>::Elem: Typed
[src]

type Elem = <T as LookupElemByLabel<L>>::Elem

Associated data type of looked-up element.

impl<DI> NRows for DI where
    DI: DataIndex
[src]

impl<Label, List> IntoStrFrame for List where
    Label: Debug,
    List: StrLabels
[src]

type Output = DataFrame<<Cons<Labeled<Label, PhantomData<String>>, Nil> as SimpleFrameFields>::Fields, DataStore<Cons<Labeled<Label, PhantomData<String>>, Nil>>>

Output DataFrame type.

impl<MeltLabel, Labels> MeltFrameFields for Labels where
    Labels: AssocLabels
[src]

type Fields = Cons<Labeled<MeltLabel, PhantomData<StoreFieldMarkers<Melt, <Labels as AssocLabels>::Labels>>>, Nil>

The computed melt FrameFields FieldLookupCons cons-list.

impl<Frames, Store> JoinIntoStore for Frames[src]

type Output = Store

The output type after augmenting Store.

impl<Label, FrameIndex, FrameLabel, Tail, Frames, Store> JoinIntoStore for Frames where
    Frames: LookupValuedElemByLabel<FrameIndex> + JoinIntoStore<Tail, DataStore<<Store as PushBackClonedFromValueIter<Label, <<<Frames as LookupValuedElemByLabel<FrameIndex>>::Elem as Valued>::Value as SelectFieldByLabel<FrameLabel>>::DType>>::OutputFields>>,
    Store: PushBackClonedFromValueIter<Label, <<<Frames as LookupValuedElemByLabel<FrameIndex>>::Elem as Valued>::Value as SelectFieldByLabel<FrameLabel>>::DType>,
    <<Frames as LookupValuedElemByLabel<FrameIndex>>::Elem as Valued>::Value: SelectFieldByLabel<FrameLabel>,
    <<<Frames as LookupValuedElemByLabel<FrameIndex>>::Elem as Valued>::Value as SelectFieldByLabel<FrameLabel>>::DType: Debug
[src]

type Output = <Frames as JoinIntoStore<Tail, DataStore<<Store as PushBackClonedFromValueIter<Label, <<<Frames as LookupValuedElemByLabel<FrameIndex>>::Elem as Valued>::Value as SelectFieldByLabel<FrameLabel>>::DType>>::OutputFields>>>::Output

The output type after augmenting Store.

impl<Labels, Label> FindFrameDetails for Labels where
    Labels: LookupMarkedElemByLabel<Label>,
    <<Labels as LookupMarkedElemByLabel<Label>>::Elem as Marked>::Marker: FrameDetails
[src]

type FrameDetails = <<Labels as LookupMarkedElemByLabel<Label>>::Elem as Marked>::Marker

The associated frame details for this type.

impl<Frames, Labels, Label> FindFrame for Frames where
    Frames: LookupValuedElemByLabel<<<Labels as FindFrameDetails<Label>>::FrameDetails as FrameDetails>::FrameIndex>,
    Labels: FindFrameDetails<Label>, 
[src]

impl<Labels, Frames, Label> SelectFieldFromLabels for Frames where
    Frames: FindFrame<Labels, Label>,
    Labels: FindFrameDetails<Label>,
    <<Frames as LookupValuedElemByLabel<<<Labels as FindFrameDetails<Label>>::FrameDetails as FrameDetails>::FrameIndex>>::Elem as Valued>::Value: SelectFieldByLabel<<<Labels as FindFrameDetails<Label>>::FrameDetails as FrameDetails>::FrameLabel>,
    <<<Frames as LookupValuedElemByLabel<<<Labels as FindFrameDetails<Label>>::FrameDetails as FrameDetails>::FrameIndex>>::Elem as Valued>::Value as SelectFieldByLabel<<<Labels as FindFrameDetails<Label>>::FrameDetails as FrameDetails>::FrameLabel>>::Output: SelfValued,
    <<<Frames as LookupValuedElemByLabel<<<Labels as FindFrameDetails<Label>>::FrameDetails as FrameDetails>::FrameIndex>>::Elem as Valued>::Value as SelectFieldByLabel<<<Labels as FindFrameDetails<Label>>::FrameDetails as FrameDetails>::FrameLabel>>::Output: Clone,
    <<<Frames as LookupValuedElemByLabel<<<Labels as FindFrameDetails<Label>>::FrameDetails as FrameDetails>::FrameIndex>>::Elem as Valued>::Value as SelectFieldByLabel<<<Labels as FindFrameDetails<Label>>::FrameDetails as FrameDetails>::FrameLabel>>::DType: Debug
[src]

type DType = <<<Frames as LookupValuedElemByLabel<<<Labels as FindFrameDetails<Label>>::FrameDetails as FrameDetails>::FrameIndex>>::Elem as Valued>::Value as SelectFieldByLabel<<<Labels as FindFrameDetails<Label>>::FrameDetails as FrameDetails>::FrameLabel>>::DType

Data type of field accessor

type Output = <<<Frames as LookupValuedElemByLabel<<<Labels as FindFrameDetails<Label>>::FrameDetails as FrameDetails>::FrameIndex>>::Elem as Valued>::Value as SelectFieldByLabel<<<Labels as FindFrameDetails<Label>>::FrameDetails as FrameDetails>::FrameLabel>>::Output

Selected field accessor.

impl<Frames> AssocDataIndexCons for Frames[src]

type Output = Nil

Type of associated data index cons-list.

impl<Label, FrameIndex, FrameLabel, LookupTail, Frames> AssocDataIndexCons for Frames where
    Frames: SelectFieldFromLabels<Cons<Labeled<Label, PhantomData<FrameDetailMarkers<FrameIndex, FrameLabel>>>, LookupTail>, Label> + AssocDataIndexCons<LookupTail>,
    <Frames as SelectFieldFromLabels<Cons<Labeled<Label, PhantomData<FrameDetailMarkers<FrameIndex, FrameLabel>>>, LookupTail>, Label>>::Output: Typed
[src]

type Output = Cons<Labeled<Label, TypedValue<<<Frames as SelectFieldFromLabels<Cons<Labeled<Label, PhantomData<FrameDetailMarkers<FrameIndex, FrameLabel>>>, LookupTail>, Label>>::Output as Typed>::DType, <Frames as SelectFieldFromLabels<Cons<Labeled<Label, PhantomData<FrameDetailMarkers<FrameIndex, FrameLabel>>>, LookupTail>, Label>>::Output>>, <Frames as AssocDataIndexCons<LookupTail>>::Output>

Type of associated data index cons-list.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<Q, K> Equivalent for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> Erased for T

impl<Q, K> Equivalent for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> Same for T[src]

type Output = T

Should always be Self