[−][src]Struct agnes::cons::Cons
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
fn push_front(self, head: NewH) -> Self::Output
[src]
impl<U, H, T> PushBack<U> for Cons<H, T> where
T: PushBack<U>,
[src]
T: PushBack<U>,
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
fn push_back(self, elem: U) -> Cons<H, T::Output>
[src]
impl<List, H, T> Append<List> for Cons<H, T> where
T: Append<List>,
[src]
T: Append<List>,
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
fn append(self, list: List) -> Cons<H, T::Appended>
[src]
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]
Tail: Len,
<Tail as Len>::Len: Add<B1>,
<<Tail as Len>::Len as Add<B1>>::Output: Unsigned,
type Len = Add1<<Tail as Len>::Len>
typenum
-based list length.
fn is_empty(&self) -> bool
[src]
Returns true
if length is 0, and false
otherwise.
fn len(&self) -> usize
[src]
Returns the length of this list.
impl<NeedleLbl, NeedleTail, Haystack> HasLabels<Cons<Labeled<NeedleLbl, ()>, NeedleTail>> for Haystack where
Haystack: Member<NeedleLbl, IsMember = True>,
Haystack: HasLabels<NeedleTail>,
[src]
Haystack: Member<NeedleLbl, IsMember = True>,
Haystack: HasLabels<NeedleTail>,
impl<H, T> LookupElemByNat<UTerm> for Cons<H, T>
[src]
impl<H, T> LookupElemByNat<UInt<UTerm, B1>> for Cons<H, T> where
T: LookupElemByNat<UTerm>,
[src]
T: LookupElemByNat<UTerm>,
type Elem = <T as LookupElemByNat<UTerm>>::Elem
Type of looked-up element.
fn elem(&self) -> &Self::Elem
[src]
impl<H, T, N> LookupElemByNat<UInt<N, B0>> for Cons<H, T> where
N: Sub<B1>,
T: LookupElemByNat<UInt<Sub1<N>, B1>>,
[src]
N: Sub<B1>,
T: LookupElemByNat<UInt<Sub1<N>, B1>>,
type Elem = <T as LookupElemByNat<UInt<Sub1<N>, B1>>>::Elem
Type of looked-up element.
fn elem(&self) -> &Self::Elem
[src]
impl<H, T, N, B> LookupElemByNat<UInt<UInt<N, B>, B1>> for Cons<H, T> where
T: LookupElemByNat<UInt<UInt<N, B>, B0>>,
[src]
T: LookupElemByNat<UInt<UInt<N, B>, B0>>,
type Elem = <T as LookupElemByNat<UInt<UInt<N, B>, B0>>>::Elem
Type of looked-up element.
fn elem(&self) -> &Self::Elem
[src]
impl<LabelList, H, T> LabelSubsetPred<LabelList, B1> for Cons<H, T> where
T: LabelSubset<LabelList>,
[src]
T: LabelSubset<LabelList>,
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]
T: LabelSubset<LabelList>,
type Output = <T as LabelSubset<LabelList>>::Output
Subset of Self
that are labeled with labels in LabelList
.
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>,
Store: PushBackClonedFromValueIter<Label, FieldTypeFromFrameDetailsOf<Frames, FrameIndex, FrameLabel>>,
Frames: JoinIntoStore<Tail, DataStore<<Store as PushBackClonedFromValueIter<Label, FieldTypeFromFrameDetailsOf<Frames, FrameIndex, FrameLabel>>>::OutputFields>>,
[src]
Frames: LookupValuedElemByLabel<FrameIndex>,
FrameByFrameIndexOf<Frames, FrameIndex>: SelectFieldByLabel<FrameLabel>,
Store: PushBackClonedFromValueIter<Label, FieldTypeFromFrameDetailsOf<Frames, FrameIndex, FrameLabel>>,
Frames: JoinIntoStore<Tail, DataStore<<Store as PushBackClonedFromValueIter<Label, FieldTypeFromFrameDetailsOf<Frames, FrameIndex, FrameLabel>>>::OutputFields>>,
type Output = <Frames as JoinIntoStore<Tail, DataStore<<Store as PushBackClonedFromValueIter<Label, FieldTypeFromFrameDetailsOf<Frames, FrameIndex, FrameLabel>>>::OutputFields>>>::Output
The output type after augmenting Store
.
fn join_into_store(
&self,
store: Store,
permutation: &[usize]
) -> Result<Self::Output>
[src]
&self,
store: Store,
permutation: &[usize]
) -> Result<Self::Output>
impl<Label, FrameIndex, FrameLabel, LookupTail, Frames> AssocDataIndexCons<Cons<Labeled<Label, PhantomData<FrameDetailMarkers<FrameIndex, FrameLabel>>>, LookupTail>> for Frames where
Self: SelectFieldFromLabels<FrameLookupCons<Label, FrameIndex, FrameLabel, LookupTail>, Label>,
Self: AssocDataIndexCons<LookupTail>,
Self::Output: Typed,
[src]
Self: SelectFieldFromLabels<FrameLookupCons<Label, FrameIndex, FrameLabel, LookupTail>, Label>,
Self: AssocDataIndexCons<LookupTail>,
Self::Output: Typed,
type Output = DataIndexCons<Label, TypeOf<<Frames as SelectFieldFromLabels<FrameLookupCons<Label, FrameIndex, FrameLabel, LookupTail>, Label>>::Output>, <Frames as SelectFieldFromLabels<FrameLookupCons<Label, FrameIndex, FrameLabel, LookupTail>, Label>>::Output, <Frames as AssocDataIndexCons<LookupTail>>::Output>
Type of associated data index cons-list.
fn assoc_data(&self) -> Self::Output
[src]
impl<Head, Tail> HashIndex for Cons<Head, Tail> where
Head: HashIndex,
Tail: HashIndex,
[src]
Head: HashIndex,
Tail: HashIndex,
fn hash_index<H>(&self, idx: usize, state: &mut H) where
H: Hasher,
[src]
H: Hasher,
impl<Head, Tail> PartialEqIndex for Cons<Head, Tail> where
Head: PartialEqIndex,
Tail: PartialEqIndex,
[src]
Head: PartialEqIndex,
Tail: PartialEqIndex,
impl<LabelList, H, T> SubsetClonePred<LabelList, B1> for Cons<H, T> where
T: SubsetClone<LabelList>,
H: Clone,
[src]
T: SubsetClone<LabelList>,
H: Clone,
type Output = Cons<H, <T as SubsetClone<LabelList>>::Output>
Output of applying $req_fn
to values in this cons-list if IsMember
is True
.
fn subset_clone_pred(&self) -> Self::Output
[src]
impl<LabelList, H, T> SubsetClonePred<LabelList, B0> for Cons<H, T> where
T: SubsetClone<LabelList>,
[src]
T: SubsetClone<LabelList>,
type Output = <T as SubsetClone<LabelList>>::Output
Output of applying $req_fn
to values in this cons-list if IsMember
is True
.
fn subset_clone_pred(&self) -> Self::Output
[src]
impl<H: PartialEq, T: PartialEq> PartialEq<Cons<H, T>> for Cons<H, T>
[src]
impl<H: Clone, T: Clone> Clone for Cons<H, T>
[src]
fn clone(&self) -> Cons<H, T>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<H: Eq, T: Eq> Eq for Cons<H, T>
[src]
impl<H: Hash, T: Hash> Hash for Cons<H, T>
[src]
fn hash<__HHT: Hasher>(&self, state: &mut __HHT)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
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,
H: Send,
T: Send,
impl<H, T> Sync for Cons<H, T> where
H: Sync,
T: Sync,
H: Sync,
T: Sync,
Blanket Implementations
impl<T> IntoLabeled for T
[src]
impl<T> HasLabels for T
[src]
impl<NeedleLbl, NeedleTail, Haystack> HasLabels for Haystack where
Haystack: Member<NeedleLbl, IsMember = B1> + HasLabels<NeedleTail>,
[src]
Haystack: Member<NeedleLbl, IsMember = B1> + HasLabels<NeedleTail>,
impl<Needle, Haystack> HasLabels for Haystack where
Haystack: Member<Needle, IsMember = B1>,
Needle: Label,
[src]
Haystack: Member<Needle, IsMember = B1>,
Needle: Label,
impl<L, T> LookupElemByLabel for T where
T: LookupNatByLabel<L> + LookupElemByNat<<T as LookupNatByLabel<L>>::Nat>,
[src]
T: LookupNatByLabel<L> + LookupElemByNat<<T as LookupNatByLabel<L>>::Nat>,
type Elem = <T as LookupElemByNat<<T as LookupNatByLabel<L>>::Nat>>::Elem
Type of lookup-up element.
fn elem(&Self) -> &<T as LookupElemByLabel<L>>::Elem
[src]
impl<T, L> LookupValuedElemByLabel for T where
T: LookupElemByLabel<L>,
<T as LookupElemByLabel<L>>::Elem: Valued,
[src]
T: LookupElemByLabel<L>,
<T as LookupElemByLabel<L>>::Elem: Valued,
type Elem = <T as LookupElemByLabel<L>>::Elem
Type of looked-up element.
fn elem(&Self) -> &<T as LookupElemByLabel<L>>::Elem
[src]
impl<T, L> LookupMarkedElemByLabel for T where
T: LookupElemByLabel<L>,
<T as LookupElemByLabel<L>>::Elem: Marked,
[src]
T: LookupElemByLabel<L>,
<T as LookupElemByLabel<L>>::Elem: Marked,
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]
T: LookupElemByLabel<L>,
<T as LookupElemByLabel<L>>::Elem: Typed,
type Elem = <T as LookupElemByLabel<L>>::Elem
Associated data type of looked-up element.
impl<Frames, Store> JoinIntoStore for Frames
[src]
type Output = Store
The output type after augmenting Store
.
fn join_into_store(&Self, Store, &[usize]) -> Result<Store, AgnesError>
[src]
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>>::Output as DataIndex>::DType>>::OutputFields>>,
Store: PushBackClonedFromValueIter<Label, <<<<Frames as LookupValuedElemByLabel<FrameIndex>>::Elem as Valued>::Value as SelectFieldByLabel<FrameLabel>>::Output as DataIndex>::DType>,
<<Frames as LookupValuedElemByLabel<FrameIndex>>::Elem as Valued>::Value: SelectFieldByLabel<FrameLabel>,
[src]
Frames: LookupValuedElemByLabel<FrameIndex> + JoinIntoStore<Tail, DataStore<<Store as PushBackClonedFromValueIter<Label, <<<<Frames as LookupValuedElemByLabel<FrameIndex>>::Elem as Valued>::Value as SelectFieldByLabel<FrameLabel>>::Output as DataIndex>::DType>>::OutputFields>>,
Store: PushBackClonedFromValueIter<Label, <<<<Frames as LookupValuedElemByLabel<FrameIndex>>::Elem as Valued>::Value as SelectFieldByLabel<FrameLabel>>::Output as DataIndex>::DType>,
<<Frames as LookupValuedElemByLabel<FrameIndex>>::Elem as Valued>::Value: SelectFieldByLabel<FrameLabel>,
type Output = <Frames as JoinIntoStore<Tail, DataStore<<Store as PushBackClonedFromValueIter<Label, <<<<Frames as LookupValuedElemByLabel<FrameIndex>>::Elem as Valued>::Value as SelectFieldByLabel<FrameLabel>>::Output as DataIndex>::DType>>::OutputFields>>>::Output
The output type after augmenting Store
.
fn join_into_store(
&Self,
Store,
&[usize]
) -> Result<<Frames as JoinIntoStore<Cons<Labeled<Label, PhantomData<FrameDetailMarkers<FrameIndex, FrameLabel>>>, Tail>, Store>>::Output, AgnesError>
[src]
&Self,
Store,
&[usize]
) -> Result<<Frames as JoinIntoStore<Cons<Labeled<Label, PhantomData<FrameDetailMarkers<FrameIndex, FrameLabel>>>, Tail>, Store>>::Output, AgnesError>
impl<Labels, Label> FindFrameDetails for Labels where
Labels: LookupMarkedElemByLabel<Label>,
<<Labels as LookupMarkedElemByLabel<Label>>::Elem as Marked>::Marker: FrameDetails,
[src]
Labels: LookupMarkedElemByLabel<Label>,
<<Labels as LookupMarkedElemByLabel<Label>>::Elem as Marked>::Marker: FrameDetails,
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]
Frames: LookupValuedElemByLabel<<<Labels as FindFrameDetails<Label>>::FrameDetails as FrameDetails>::FrameIndex>,
Labels: FindFrameDetails<Label>,
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: Typed,
<<<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>>::Output as Typed>::DType: Debug,
[src]
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: Typed,
<<<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>>::Output as Typed>::DType: Debug,
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 type.
fn select_field(
&Self
) -> <Frames as SelectFieldFromLabels<Labels, Label>>::Output
[src]
&Self
) -> <Frames as SelectFieldFromLabels<Labels, Label>>::Output
impl<Frames> AssocDataIndexCons for Frames
[src]
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]
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,
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.
fn assoc_data(
&Self
) -> <Frames as AssocDataIndexCons<Cons<Labeled<Label, PhantomData<FrameDetailMarkers<FrameIndex, FrameLabel>>>, LookupTail>>>::Output
[src]
&Self
) -> <Frames as AssocDataIndexCons<Cons<Labeled<Label, PhantomData<FrameDetailMarkers<FrameIndex, FrameLabel>>>, LookupTail>>>::Output
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<Q, K> Equivalent for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool
[src]
impl<T> Erased for T
impl<Q, K> Equivalent for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool
[src]
impl<T> Same for T
[src]
type Output = T
Should always be Self