Trait column::Column
[−]
[src]
pub trait Column<'a> { type Output; fn new() -> Self::Output; fn with_capacity(len: usize) -> Self::Output; }
Trait describing associated and generated types for a type that can be represented in a columnar layout
Example
#[derive(Column)] struct Data {x: usize} let column = <Data as Column>::new();
Associated Types
type Output
The type representing the wrapped data in a columnar data layout.
Required Methods
fn new() -> Self::Output
Construct a new Columar
with default capacity.
Example
#[derive(Column)] struct Data {x: usize} let column = <Data as Column>::new();
fn with_capacity(len: usize) -> Self::Output
Construct a new Columar
with the provided capacity.
Example
#[derive(Column)] struct Data {x: usize} let column = <Data as Column>::with_capacity(200);
Implementors
impl<'column, A> Column<'column> for Col<(A,)> type Output = Col<(Vec<A>,)>;
impl<'column, A, B> Column<'column> for Col<(A, B)> type Output = Col<(Vec<A>, Vec<B>)>;
impl<'column, A, B, C> Column<'column> for Col<(A, B, C)> type Output = Col<(Vec<A>, Vec<B>, Vec<C>)>;
impl<'column, A, B, C, D> Column<'column> for Col<(A, B, C, D)> type Output = Col<(Vec<A>, Vec<B>, Vec<C>, Vec<D>)>;
impl<'column, A, B, C, D, E> Column<'column> for Col<(A, B, C, D, E)> type Output = Col<(Vec<A>, Vec<B>, Vec<C>, Vec<D>, Vec<E>)>;
impl<'column, A, B, C, D, E, F> Column<'column> for Col<(A, B, C, D, E, F)> type Output = Col<(Vec<A>, Vec<B>, Vec<C>, Vec<D>, Vec<E>, Vec<F>)>;
impl<'column, A, B, C, D, E, F, G> Column<'column> for Col<(A, B, C, D, E, F, G)> type Output = Col<(Vec<A>, Vec<B>, Vec<C>, Vec<D>, Vec<E>, Vec<F>, Vec<G>)>;
impl<'column, A, B, C, D, E, F, G, H> Column<'column> for Col<(A, B, C, D, E, F, G, H)> type Output = Col<(Vec<A>, Vec<B>, Vec<C>, Vec<D>, Vec<E>, Vec<F>, Vec<G>, Vec<H>)>;
impl<'column, A, B, C, D, E, F, G, H, I> Column<'column> for Col<(A, B, C, D, E, F, G, H, I)> type Output = Col<(Vec<A>, Vec<B>, Vec<C>, Vec<D>, Vec<E>, Vec<F>, Vec<G>, Vec<H>, Vec<I>)>;
impl<'column, A, B, C, D, E, F, G, H, I, J> Column<'column> for Col<(A, B, C, D, E, F, G, H, I, J)> type Output = Col<(Vec<A>, Vec<B>, Vec<C>, Vec<D>, Vec<E>, Vec<F>, Vec<G>, Vec<H>, Vec<I>, Vec<J>)>;
impl<'column, A, B, C, D, E, F, G, H, I, J, K> Column<'column> for Col<(A, B, C, D, E, F, G, H, I, J, K)> type Output = Col<(Vec<A>, Vec<B>, Vec<C>, Vec<D>, Vec<E>, Vec<F>, Vec<G>, Vec<H>, Vec<I>, Vec<J>, Vec<K>)>;
impl<'column, A, B, C, D, E, F, G, H, I, J, K, L> Column<'column> for Col<(A, B, C, D, E, F, G, H, I, J, K, L)> type Output = Col<(Vec<A>, Vec<B>, Vec<C>, Vec<D>, Vec<E>, Vec<F>, Vec<G>, Vec<H>, Vec<I>, Vec<J>, Vec<K>, Vec<L>)>;