re_chunk::iter

Trait ChunkComponentSlicer

Source
pub trait ChunkComponentSlicer {
    type Item<'a>;

    // Required method
    fn slice<'a>(
        component_name: ComponentName,
        array: &'a dyn ArrowArray,
        component_offsets: impl Iterator<Item = (usize, usize)> + 'a,
    ) -> impl Iterator<Item = Self::Item<'a>> + 'a;
}
Expand description

A ChunkComponentSlicer knows how to efficiently slice component batches out of a Chunk column.

See Chunk::iter_slices and Chunk::iter_slices_from_struct_field.

Required Associated Types§

Source

type Item<'a>

Required Methods§

Source

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

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 ChunkComponentSlicer for &[f32]

Source§

type Item<'a> = Vec<ScalarBuffer<f32>>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for &[f64]

Source§

type Item<'a> = Vec<ScalarBuffer<f64>>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for &[i8]

Source§

type Item<'a> = Vec<ScalarBuffer<i8>>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for &[i16]

Source§

type Item<'a> = Vec<ScalarBuffer<i16>>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for &[i32]

Source§

type Item<'a> = Vec<ScalarBuffer<i32>>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for &[i64]

Source§

type Item<'a> = Vec<ScalarBuffer<i64>>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for &[u8]

Source§

type Item<'a> = Vec<ScalarBuffer<u8>>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for &[u16]

Source§

type Item<'a> = Vec<ScalarBuffer<u16>>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for &[u32]

Source§

type Item<'a> = Vec<ScalarBuffer<u32>>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for &[u64]

Source§

type Item<'a> = Vec<ScalarBuffer<u64>>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for &[f16]

Source§

type Item<'a> = Vec<ScalarBuffer<f16>>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for bool

Source§

type Item<'a> = BooleanBuffer

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for f32

Source§

type Item<'a> = &'a [f32]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for f64

Source§

type Item<'a> = &'a [f64]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for i8

Source§

type Item<'a> = &'a [i8]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for i16

Source§

type Item<'a> = &'a [i16]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for i32

Source§

type Item<'a> = &'a [i32]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for i64

Source§

type Item<'a> = &'a [i64]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for u8

Source§

type Item<'a> = &'a [u8]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for u16

Source§

type Item<'a> = &'a [u16]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for u32

Source§

type Item<'a> = &'a [u32]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for u64

Source§

type Item<'a> = &'a [u64]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for String

Source§

type Item<'a> = Vec<ArrowString>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Vec<ArrowString>> + 'a

Source§

impl ChunkComponentSlicer for f16

Source§

type Item<'a> = &'a [f16]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for &[[f32; N]]
where [f32; N]: Pod,

Source§

type Item<'a> = Vec<&'a [[f32; N]]>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for &[[f64; N]]
where [f64; N]: Pod,

Source§

type Item<'a> = Vec<&'a [[f64; N]]>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for &[[i8; N]]
where [i8; N]: Pod,

Source§

type Item<'a> = Vec<&'a [[i8; N]]>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for &[[i16; N]]
where [i16; N]: Pod,

Source§

type Item<'a> = Vec<&'a [[i16; N]]>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for &[[i32; N]]
where [i32; N]: Pod,

Source§

type Item<'a> = Vec<&'a [[i32; N]]>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for &[[i64; N]]
where [i64; N]: Pod,

Source§

type Item<'a> = Vec<&'a [[i64; N]]>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for &[[u8; N]]
where [u8; N]: Pod,

Source§

type Item<'a> = Vec<&'a [[u8; N]]>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for &[[u16; N]]
where [u16; N]: Pod,

Source§

type Item<'a> = Vec<&'a [[u16; N]]>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for &[[u32; N]]
where [u32; N]: Pod,

Source§

type Item<'a> = Vec<&'a [[u32; N]]>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for &[[u64; N]]
where [u64; N]: Pod,

Source§

type Item<'a> = Vec<&'a [[u64; N]]>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for &[[f16; N]]
where [f16; N]: Pod,

Source§

type Item<'a> = Vec<&'a [[f16; N]]>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for [f32; N]
where [f32; N]: Pod,

Source§

type Item<'a> = &'a [[f32; N]]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for [f64; N]
where [f64; N]: Pod,

Source§

type Item<'a> = &'a [[f64; N]]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for [i8; N]
where [i8; N]: Pod,

Source§

type Item<'a> = &'a [[i8; N]]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for [i16; N]
where [i16; N]: Pod,

Source§

type Item<'a> = &'a [[i16; N]]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for [i32; N]
where [i32; N]: Pod,

Source§

type Item<'a> = &'a [[i32; N]]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for [i64; N]
where [i64; N]: Pod,

Source§

type Item<'a> = &'a [[i64; N]]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for [u8; N]
where [u8; N]: Pod,

Source§

type Item<'a> = &'a [[u8; N]]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for [u16; N]
where [u16; N]: Pod,

Source§

type Item<'a> = &'a [[u16; N]]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for [u32; N]
where [u32; N]: Pod,

Source§

type Item<'a> = &'a [[u32; N]]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for [u64; N]
where [u64; N]: Pod,

Source§

type Item<'a> = &'a [[u64; N]]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Source§

impl<const N: usize> ChunkComponentSlicer for [f16; N]
where [f16; N]: Pod,

Source§

type Item<'a> = &'a [[f16; N]]

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn ArrowArray, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = Self::Item<'a>> + 'a

Implementors§