[][src]Trait agnes::frame::SelectAndFrameMatch

pub trait SelectAndFrameMatch<Label, FramedStore, Match> {
    type DType: Debug;
    type Field: DataIndex<DType = Self::DType>;
    fn select_and_frame(
        perm: &Rc<Permutation<Vec<usize>>>,
        store: &FramedStore
    ) -> Framed<Self::DType, Self::Field>; }

Helper trait for selecting and framing fields. Used by SelectAndFrame. Label is the label to select, FramedStore is the struct the data is stored in, and Match is whether or not Label matches the head label in this type.

Associated Types

type DType: Debug

The resultant data type of the field.

type Field: DataIndex<DType = Self::DType>

The field accessor type.

Loading content...

Required methods

fn select_and_frame(
    perm: &Rc<Permutation<Vec<usize>>>,
    store: &FramedStore
) -> Framed<Self::DType, Self::Field>

Returns an Framed struct accessing the selected field.

Loading content...

Implementors

impl<TargetLabel, FrameLabel, StoreDetails, Tail, FramedStore> SelectAndFrameMatch<TargetLabel, FramedStore, B0> for FieldLookupCons<FrameLabel, StoreDetails, Tail> where
    Tail: SelectAndFrame<TargetLabel, FramedStore>, 
[src]

type DType = <Tail as SelectAndFrame<TargetLabel, FramedStore>>::DType

type Field = <Tail as SelectAndFrame<TargetLabel, FramedStore>>::Field

impl<TargetLabel, FrameLabel, StoreFieldList, Tail, FramedStore> SelectAndFrameMatch<TargetLabel, FramedStore, B1> for FieldLookupCons<FrameLabel, StoreFieldMarkers<Single, StoreFieldList>, Tail> where
    FramedStore: SelectFieldByLabel<TargetLabel>,
    <FramedStore as SelectFieldByLabel<TargetLabel>>::DType: Debug
[src]

type DType = <FramedStore as SelectFieldByLabel<TargetLabel>>::DType

type Field = <FramedStore as SelectFieldByLabel<TargetLabel>>::Output

impl<TargetLabel, FrameLabel, StoreFieldList, Tail, FramedStore> SelectAndFrameMatch<TargetLabel, FramedStore, B1> for FieldLookupCons<FrameLabel, StoreFieldMarkers<Melt, StoreFieldList>, Tail> where
    StoreFieldList: RotateFields<FramedStore>,
    <StoreFieldList as RotateFields<FramedStore>>::DType: Debug,
    <StoreFieldList as RotateFields<FramedStore>>::Output: Clone
[src]

type DType = <StoreFieldList as RotateFields<FramedStore>>::DType

type Field = <StoreFieldList as RotateFields<FramedStore>>::Output

Loading content...