[][src]Struct agnes::store::DataStore

pub struct DataStore<Fields: AssocStorage> { /* fields omitted */ }

Primary agnes data storage object. Fields is a FieldCons cons-list which implements AssocStorage; the DataStore contains this associated storage structure.

Methods

impl<Fields> DataStore<Fields> where
    Fields: AssocStorage
[src]

pub fn empty() -> DataStore<Nil>[src]

Generate and return an empty data store

impl<PrevFields> DataStore<PrevFields> where
    PrevFields: AssocStorage
[src]

pub fn push_front_field<NewLabel, NewDType>(
    self,
    data: FieldData<NewDType>
) -> DataStore<Self::OutputFields> where
    Self: PushFrontField<NewLabel, NewDType>, 
[src]

Push a FieldData onto the front of this store's fields cons-list.

pub fn push_front_from_value_iter<NewLabel, NewDType, IntoIter, Iter>(
    self,
    iter: IntoIter
) -> DataStore<Self::OutputFields> where
    Iter: Iterator<Item = Value<NewDType>>,
    IntoIter: IntoIterator<IntoIter = Iter, Item = Value<NewDType>>,
    Self: PushFrontFromValueIter<NewLabel, NewDType>, 
[src]

Push a field onto the front of this store's fields cons-list using data from an iterator of Value objects.

pub fn push_front_from_iter<NewLabel, NewDType, IntoIter, Iter>(
    self,
    iter: IntoIter
) -> DataStore<Self::OutputFields> where
    Iter: Iterator<Item = NewDType>,
    IntoIter: IntoIterator<IntoIter = Iter, Item = NewDType>,
    Self: PushFrontFromIter<NewLabel, NewDType>, 
[src]

Push a field onto the front of this store's fields cons-list using data from an iterator of objects.

pub fn push_front_cloned_from_value_iter<'a, NewLabel, NewDType, IntoIter, Iter>(
    self,
    iter: IntoIter
) -> DataStore<Self::OutputFields> where
    Iter: Iterator<Item = Value<&'a NewDType>>,
    IntoIter: IntoIterator<IntoIter = Iter, Item = Value<&'a NewDType>>,
    Self: PushFrontClonedFromValueIter<NewLabel, NewDType>,
    NewDType: 'a, 
[src]

Push a field onto the front of this store's fields cons-list cloning data from an iterator of Value objects.

pub fn push_front_cloned_from_iter<'a, NewLabel, NewDType, IntoIter, Iter>(
    self,
    iter: IntoIter
) -> DataStore<Self::OutputFields> where
    Iter: Iterator<Item = &'a NewDType>,
    IntoIter: IntoIterator<IntoIter = Iter, Item = &'a NewDType>,
    Self: PushFrontClonedFromIter<NewLabel, NewDType>,
    NewDType: 'a, 
[src]

Push a field onto the front of this store's fields cons-list cloning data from an iterator of objects.

pub fn push_front_empty<NewLabel, NewDType>(
    self
) -> DataStore<Self::OutputFields> where
    Self: PushFrontEmpty<NewLabel, NewDType>, 
[src]

Push an empty field into the front of this store's fields cons-list.

impl<PrevFields> DataStore<PrevFields> where
    PrevFields: AssocStorage
[src]

pub fn push_back_field<NewLabel, NewDType>(
    self,
    data: FieldData<NewDType>
) -> DataStore<Self::OutputFields> where
    Self: PushBackField<NewLabel, NewDType>, 
[src]

Push a FieldData onto the back of this store's fields cons-list.

pub fn push_back_from_value_iter<NewLabel, NewDType, IntoIter, Iter>(
    self,
    iter: IntoIter
) -> DataStore<Self::OutputFields> where
    Iter: Iterator<Item = Value<NewDType>>,
    IntoIter: IntoIterator<IntoIter = Iter, Item = Value<NewDType>>,
    Self: PushBackFromValueIter<NewLabel, NewDType>, 
[src]

Push a field onto the back of this store's fields cons-list using data from an iterator of Value objects.

pub fn push_back_from_iter<NewLabel, NewDType, IntoIter, Iter>(
    self,
    iter: IntoIter
) -> DataStore<Self::OutputFields> where
    Iter: Iterator<Item = NewDType>,
    IntoIter: IntoIterator<IntoIter = Iter, Item = NewDType>,
    Self: PushBackFromIter<NewLabel, NewDType>, 
[src]

Push a field onto the back of this store's fields cons-list using data from an iterator of objects.

pub fn push_back_cloned_from_value_iter<'a, NewLabel, NewDType, IntoIter, Iter>(
    self,
    iter: IntoIter
) -> DataStore<Self::OutputFields> where
    Iter: Iterator<Item = Value<&'a NewDType>>,
    IntoIter: IntoIterator<IntoIter = Iter, Item = Value<&'a NewDType>>,
    Self: PushBackClonedFromValueIter<NewLabel, NewDType>,
    NewDType: 'a, 
[src]

Push a field onto the back of this store's fields cons-list cloning data from an iterator of Value objects.

pub fn push_back_cloned_from_iter<'a, NewLabel, NewDType, IntoIter, Iter>(
    self,
    iter: IntoIter
) -> DataStore<Self::OutputFields> where
    Iter: Iterator<Item = &'a NewDType>,
    IntoIter: IntoIterator<IntoIter = Iter, Item = &'a NewDType>,
    Self: PushBackClonedFromIter<NewLabel, NewDType>,
    NewDType: 'a, 
[src]

Push a field onto the back of this store's fields cons-list cloning data from an iterator of objects.

pub fn push_back_empty<NewLabel, NewDType>(
    self
) -> DataStore<Self::OutputFields> where
    Self: PushBackEmpty<NewLabel, NewDType>, 
[src]

Push an empty field into the back of this store's fields cons-list.

impl<Fields> DataStore<Fields> where
    Fields: AssocStorage + AssocFrameLookup
[src]

pub fn into_view(self) -> Self::Output where
    Self: IntoView
[src]

Wrap this DataStore with a DataView object. Utility function that leverages IntoView.

Trait Implementations

impl<Fields> NRows for DataStore<Fields> where
    Fields: AssocStorage,
    Fields::Storage: NRows
[src]

impl<Fields> IntoView for DataStore<Fields> where
    Fields: AssocStorage + AssocFrameLookup
[src]

type Labels = <Fields as AssocFrameLookup>::Output

The Labels type parameter for the output DataView.

type Frames = ViewFrameCons<UTerm, Fields, Nil>

The Frames type parameter for the output DataView.

type Output = DataView<Self::Labels, Self::Frames>

The output DataView (should always be DataView<Self::Labels, Self::Frames>).

impl<Fields> FieldSelect for DataStore<Fields> where
    Fields: AssocStorage
[src]

fn field<Label>(&self) -> Self::Output where
    Self: SelectFieldByLabel<Label>, 
[src]

Returns a struct containing the data for the field specified by Label. Read more

impl<Label, Fields> SelectFieldByLabel<Label> for DataStore<Fields> where
    Fields: AssocStorage,
    Fields::Storage: LookupElemByLabel<Label>,
    ElemOf<Fields::Storage, Label>: Typed,
    ElemOf<Fields::Storage, Label>: Valued<Value = DataRef<TypeOfElemOf<Fields::Storage, Label>>>,
    DataRef<TypeOfElemOf<Fields::Storage, Label>>: DataIndex,
    TypeOfElemOf<Fields::Storage, Label>: Debug
[src]

type Output = DataRef<<<Fields::Storage as LookupElemByLabel<Label>>::Elem as Typed>::DType>

The return type for the select_field method.

impl<PrevFields, NewLabel, NewDType> PushFrontField<NewLabel, NewDType> for DataStore<PrevFields> where
    PrevFields: AssocStorage + PushFront<FieldSpec<NewLabel, NewDType>>,
    PushedFrontField<PrevFields, NewLabel, NewDType>: AssocStorage,
    PrevFields::Storage: PushFront<NewFieldStorage<NewLabel, NewDType>, Output = <PushedFrontField<PrevFields, NewLabel, NewDType> as AssocStorage>::Storage>,
    NewLabel: Debug,
    NewDType: Debug
[src]

type OutputFields = PushedFrontField<PrevFields, NewLabel, NewDType>

FieldCons cons-list after adding field.

impl<PrevFields, NewLabel, NewDType> PushFrontFromValueIter<NewLabel, NewDType> for DataStore<PrevFields> where
    PrevFields: AssocStorage + PushFront<FieldSpec<NewLabel, NewDType>>,
    PushedFrontField<PrevFields, NewLabel, NewDType>: AssocStorage,
    PrevFields::Storage: PushFront<NewFieldStorage<NewLabel, NewDType>, Output = <PushedFrontField<PrevFields, NewLabel, NewDType> as AssocStorage>::Storage>,
    NewLabel: Debug,
    NewDType: Default + Debug
[src]

type OutputFields = PushedFrontField<PrevFields, NewLabel, NewDType>

FieldCons cons-list after adding field.

impl<PrevFields, NewLabel, NewDType> PushFrontFromIter<NewLabel, NewDType> for DataStore<PrevFields> where
    PrevFields: AssocStorage + PushFront<FieldSpec<NewLabel, NewDType>>,
    PushedFrontField<PrevFields, NewLabel, NewDType>: AssocStorage,
    PrevFields::Storage: PushFront<NewFieldStorage<NewLabel, NewDType>, Output = <PushedFrontField<PrevFields, NewLabel, NewDType> as AssocStorage>::Storage>,
    NewLabel: Debug,
    NewDType: Debug
[src]

type OutputFields = PushedFrontField<PrevFields, NewLabel, NewDType>

FieldCons cons-list after adding field.

impl<PrevFields, NewLabel, NewDType> PushFrontClonedFromValueIter<NewLabel, NewDType> for DataStore<PrevFields> where
    PrevFields: AssocStorage + PushFront<FieldSpec<NewLabel, NewDType>>,
    PushedFrontField<PrevFields, NewLabel, NewDType>: AssocStorage,
    PrevFields::Storage: PushFront<NewFieldStorage<NewLabel, NewDType>, Output = <PushedFrontField<PrevFields, NewLabel, NewDType> as AssocStorage>::Storage>,
    NewLabel: Debug,
    NewDType: Default + Clone + Debug
[src]

type OutputFields = PushedFrontField<PrevFields, NewLabel, NewDType>

FieldCons cons-list after adding field.

impl<PrevFields, NewLabel, NewDType> PushFrontClonedFromIter<NewLabel, NewDType> for DataStore<PrevFields> where
    PrevFields: AssocStorage + PushFront<FieldSpec<NewLabel, NewDType>>,
    PushedFrontField<PrevFields, NewLabel, NewDType>: AssocStorage,
    PrevFields::Storage: PushFront<NewFieldStorage<NewLabel, NewDType>, Output = <PushedFrontField<PrevFields, NewLabel, NewDType> as AssocStorage>::Storage>,
    NewLabel: Debug,
    NewDType: Clone + Debug
[src]

type OutputFields = PushedFrontField<PrevFields, NewLabel, NewDType>

FieldCons cons-list after adding field.

impl<PrevFields, NewLabel, NewDType> PushFrontEmpty<NewLabel, NewDType> for DataStore<PrevFields> where
    PrevFields: AssocStorage + PushFront<FieldSpec<NewLabel, NewDType>>,
    PushedFrontField<PrevFields, NewLabel, NewDType>: AssocStorage,
    PrevFields::Storage: PushFront<NewFieldStorage<NewLabel, NewDType>, Output = <PushedFrontField<PrevFields, NewLabel, NewDType> as AssocStorage>::Storage>,
    NewLabel: Debug,
    NewDType: Debug
[src]

type OutputFields = PushedFrontField<PrevFields, NewLabel, NewDType>

FieldCons cons-list after adding field.

impl<PrevFields, NewLabel, NewDType> PushBackField<NewLabel, NewDType> for DataStore<PrevFields> where
    PrevFields: AssocStorage + PushBack<FieldSpec<NewLabel, NewDType>>,
    PushedBackField<PrevFields, NewLabel, NewDType>: AssocStorage,
    PrevFields::Storage: PushBack<NewFieldStorage<NewLabel, NewDType>, Output = <PushedBackField<PrevFields, NewLabel, NewDType> as AssocStorage>::Storage>,
    NewLabel: Debug,
    NewDType: Debug
[src]

type OutputFields = PushedBackField<PrevFields, NewLabel, NewDType>

FieldCons cons-list after adding field.

impl<PrevFields, NewLabel, NewDType> PushBackFromValueIter<NewLabel, NewDType> for DataStore<PrevFields> where
    PrevFields: AssocStorage + PushBack<FieldSpec<NewLabel, NewDType>>,
    PushedBackField<PrevFields, NewLabel, NewDType>: AssocStorage,
    PrevFields::Storage: PushBack<NewFieldStorage<NewLabel, NewDType>, Output = <PushedBackField<PrevFields, NewLabel, NewDType> as AssocStorage>::Storage>,
    NewLabel: Debug,
    NewDType: Default + Debug
[src]

type OutputFields = PushedBackField<PrevFields, NewLabel, NewDType>

FieldCons cons-list after adding field.

impl<PrevFields, NewLabel, NewDType> PushBackFromIter<NewLabel, NewDType> for DataStore<PrevFields> where
    PrevFields: AssocStorage + PushBack<FieldSpec<NewLabel, NewDType>>,
    PushedBackField<PrevFields, NewLabel, NewDType>: AssocStorage,
    PrevFields::Storage: PushBack<NewFieldStorage<NewLabel, NewDType>, Output = <PushedBackField<PrevFields, NewLabel, NewDType> as AssocStorage>::Storage>,
    NewLabel: Debug,
    NewDType: Debug
[src]

type OutputFields = PushedBackField<PrevFields, NewLabel, NewDType>

FieldCons cons-list after adding field.

impl<PrevFields, NewLabel, NewDType> PushBackClonedFromValueIter<NewLabel, NewDType> for DataStore<PrevFields> where
    PrevFields: AssocStorage + PushBack<FieldSpec<NewLabel, NewDType>>,
    PushedBackField<PrevFields, NewLabel, NewDType>: AssocStorage,
    PrevFields::Storage: PushBack<NewFieldStorage<NewLabel, NewDType>, Output = <PushedBackField<PrevFields, NewLabel, NewDType> as AssocStorage>::Storage>,
    NewLabel: Debug,
    NewDType: Default + Clone + Debug
[src]

type OutputFields = PushedBackField<PrevFields, NewLabel, NewDType>

FieldCons cons-list after adding field.

impl<PrevFields, NewLabel, NewDType> PushBackClonedFromIter<NewLabel, NewDType> for DataStore<PrevFields> where
    PrevFields: AssocStorage + PushBack<FieldSpec<NewLabel, NewDType>>,
    PushedBackField<PrevFields, NewLabel, NewDType>: AssocStorage,
    PrevFields::Storage: PushBack<NewFieldStorage<NewLabel, NewDType>, Output = <PushedBackField<PrevFields, NewLabel, NewDType> as AssocStorage>::Storage>,
    NewLabel: Debug,
    NewDType: Clone + Debug
[src]

type OutputFields = PushedBackField<PrevFields, NewLabel, NewDType>

FieldCons cons-list after adding field.

impl<PrevFields, NewLabel, NewDType> PushBackEmpty<NewLabel, NewDType> for DataStore<PrevFields> where
    PrevFields: AssocStorage + PushBack<FieldSpec<NewLabel, NewDType>>,
    PushedBackField<PrevFields, NewLabel, NewDType>: AssocStorage,
    PrevFields::Storage: PushBack<NewFieldStorage<NewLabel, NewDType>, Output = <PushedBackField<PrevFields, NewLabel, NewDType> as AssocStorage>::Storage>,
    NewLabel: Debug,
    NewDType: Debug
[src]

type OutputFields = PushedBackField<PrevFields, NewLabel, NewDType>

FieldCons cons-list after adding field.

impl<Fields> From<DataStore<Fields>> for DataFrame<Fields> where
    Fields: AssocStorage
[src]

impl<Fields: Debug + AssocStorage> Debug for DataStore<Fields> where
    Fields::Storage: Debug
[src]

Auto Trait Implementations

impl<Fields> Send for DataStore<Fields> where
    <Fields as AssocStorage>::Storage: Send

impl<Fields> Sync for DataStore<Fields> where
    <Fields as AssocStorage>::Storage: Sync

Blanket Implementations

impl<T> IntoLabeled for T[src]

impl<T> HasLabels for T[src]

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

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

type Output = Store

The output type after augmenting Store.

impl<Frames> AssocDataIndexCons for Frames[src]

type Output = Nil

Type of associated data index cons-list.

impl<T> From for T[src]

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

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Erased for T

impl<T> Same for T[src]

type Output = T

Should always be Self