ella_common::row

Trait RowFormat

Source
pub trait RowFormat:
    Debug
    + Clone
    + 'static {
    type Builder: RowBatchBuilder<Self>;
    type View: RowFormatView<Self>;

    const COLUMNS: usize;

    // Required methods
    fn builder(fields: &[Arc<Field>]) -> Result<Self::Builder>;
    fn view(
        rows: usize,
        fields: &[Arc<Field>],
        arrays: &[ArrayRef],
    ) -> Result<Self::View>;
}

Required Associated Constants§

Required Associated Types§

Required Methods§

Source

fn builder(fields: &[Arc<Field>]) -> Result<Self::Builder>

Source

fn view( rows: usize, fields: &[Arc<Field>], arrays: &[ArrayRef], ) -> Result<Self::View>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl RowFormat for ()

Source§

const COLUMNS: usize = 0usize

Source§

type Builder = TupleBuilder<()>

Source§

type View = TupleView<(), ()>

Source§

fn builder(fields: &[Arc<Field>]) -> Result<Self::Builder>

Source§

fn view( rows: usize, fields: &[Arc<Field>], arrays: &[ArrayRef], ) -> Result<Self::View>

Source§

impl<T1> RowFormat for (T1,)
where T1: RowFormat,

Source§

const COLUMNS: usize

Source§

type Builder = TupleBuilder<(<T1 as RowFormat>::Builder,)>

Source§

type View = TupleView<(T1,), (<T1 as RowFormat>::View,)>

Source§

fn builder(fields: &[Arc<Field>]) -> Result<Self::Builder>

Source§

fn view( rows: usize, fields: &[Arc<Field>], arrays: &[ArrayRef], ) -> Result<Self::View>

Source§

impl<T1, T2> RowFormat for (T1, T2)
where T1: RowFormat, T2: RowFormat,

Source§

const COLUMNS: usize

Source§

type Builder = TupleBuilder<(<T1 as RowFormat>::Builder, <T2 as RowFormat>::Builder)>

Source§

type View = TupleView<(T1, T2), (<T1 as RowFormat>::View, <T2 as RowFormat>::View)>

Source§

fn builder(fields: &[Arc<Field>]) -> Result<Self::Builder>

Source§

fn view( rows: usize, fields: &[Arc<Field>], arrays: &[ArrayRef], ) -> Result<Self::View>

Source§

impl<T1, T2, T3> RowFormat for (T1, T2, T3)
where T1: RowFormat, T2: RowFormat, T3: RowFormat,

Source§

const COLUMNS: usize

Source§

type Builder = TupleBuilder<(<T1 as RowFormat>::Builder, <T2 as RowFormat>::Builder, <T3 as RowFormat>::Builder)>

Source§

type View = TupleView<(T1, T2, T3), (<T1 as RowFormat>::View, <T2 as RowFormat>::View, <T3 as RowFormat>::View)>

Source§

fn builder(fields: &[Arc<Field>]) -> Result<Self::Builder>

Source§

fn view( rows: usize, fields: &[Arc<Field>], arrays: &[ArrayRef], ) -> Result<Self::View>

Source§

impl<T1, T2, T3, T4> RowFormat for (T1, T2, T3, T4)
where T1: RowFormat, T2: RowFormat, T3: RowFormat, T4: RowFormat,

Source§

const COLUMNS: usize

Source§

type Builder = TupleBuilder<(<T1 as RowFormat>::Builder, <T2 as RowFormat>::Builder, <T3 as RowFormat>::Builder, <T4 as RowFormat>::Builder)>

Source§

type View = TupleView<(T1, T2, T3, T4), (<T1 as RowFormat>::View, <T2 as RowFormat>::View, <T3 as RowFormat>::View, <T4 as RowFormat>::View)>

Source§

fn builder(fields: &[Arc<Field>]) -> Result<Self::Builder>

Source§

fn view( rows: usize, fields: &[Arc<Field>], arrays: &[ArrayRef], ) -> Result<Self::View>

Source§

impl<T1, T2, T3, T4, T5> RowFormat for (T1, T2, T3, T4, T5)
where T1: RowFormat, T2: RowFormat, T3: RowFormat, T4: RowFormat, T5: RowFormat,

Source§

const COLUMNS: usize

Source§

type Builder = TupleBuilder<(<T1 as RowFormat>::Builder, <T2 as RowFormat>::Builder, <T3 as RowFormat>::Builder, <T4 as RowFormat>::Builder, <T5 as RowFormat>::Builder)>

Source§

type View = TupleView<(T1, T2, T3, T4, T5), (<T1 as RowFormat>::View, <T2 as RowFormat>::View, <T3 as RowFormat>::View, <T4 as RowFormat>::View, <T5 as RowFormat>::View)>

Source§

fn builder(fields: &[Arc<Field>]) -> Result<Self::Builder>

Source§

fn view( rows: usize, fields: &[Arc<Field>], arrays: &[ArrayRef], ) -> Result<Self::View>

Source§

impl<T1, T2, T3, T4, T5, T6> RowFormat for (T1, T2, T3, T4, T5, T6)
where T1: RowFormat, T2: RowFormat, T3: RowFormat, T4: RowFormat, T5: RowFormat, T6: RowFormat,

Source§

const COLUMNS: usize

Source§

type Builder = TupleBuilder<(<T1 as RowFormat>::Builder, <T2 as RowFormat>::Builder, <T3 as RowFormat>::Builder, <T4 as RowFormat>::Builder, <T5 as RowFormat>::Builder, <T6 as RowFormat>::Builder)>

Source§

type View = TupleView<(T1, T2, T3, T4, T5, T6), (<T1 as RowFormat>::View, <T2 as RowFormat>::View, <T3 as RowFormat>::View, <T4 as RowFormat>::View, <T5 as RowFormat>::View, <T6 as RowFormat>::View)>

Source§

fn builder(fields: &[Arc<Field>]) -> Result<Self::Builder>

Source§

fn view( rows: usize, fields: &[Arc<Field>], arrays: &[ArrayRef], ) -> Result<Self::View>

Source§

impl<T, const N: usize> RowFormat for [T; N]
where T: RowFormat,

Source§

const COLUMNS: usize

Source§

type Builder = ArrayBuilder<<T as RowFormat>::Builder, N>

Source§

type View = ArrayRowView<[T; N], <T as RowFormat>::View, N>

Source§

fn builder(fields: &[Arc<Field>]) -> Result<Self::Builder>

Source§

fn view( rows: usize, fields: &[Arc<Field>], arrays: &[ArrayRef], ) -> Result<Self::View>

Implementors§