re_viewer::external::re_chunk

Trait ChunkComponentSlicer

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

    // Required method
    fn slice<'a>(
        component_name: ComponentName,
        array: &'a dyn Array,
        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 Array, 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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[f32] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[f64] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[i8] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[i16] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[i32] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[i64] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[u8] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[u16] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[u32] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[u64] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[f16] as ChunkComponentSlicer>::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for bool

Source§

type Item<'a> = BooleanBuffer

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <bool as ChunkComponentSlicer>::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for f32

Source§

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

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <f32 as ChunkComponentSlicer>::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for f64

Source§

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

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <f64 as ChunkComponentSlicer>::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for i8

Source§

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

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <i8 as ChunkComponentSlicer>::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for i16

Source§

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

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <i16 as ChunkComponentSlicer>::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for i32

Source§

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

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <i32 as ChunkComponentSlicer>::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for i64

Source§

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

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <i64 as ChunkComponentSlicer>::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for u8

Source§

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

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <u8 as ChunkComponentSlicer>::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for u16

Source§

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

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <u16 as ChunkComponentSlicer>::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for u32

Source§

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

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <u32 as ChunkComponentSlicer>::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for u64

Source§

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

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <u64 as ChunkComponentSlicer>::Item<'a>> + 'a

Source§

impl ChunkComponentSlicer for String

Source§

type Item<'a> = Vec<ArrowString>

Source§

fn slice<'a>( component_name: ComponentName, array: &'a dyn Array, 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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <f16 as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[[f32; N]] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[[f64; N]] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[[i8; N]] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[[i16; N]] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[[i32; N]] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[[i64; N]] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[[u8; N]] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[[u16; N]] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[[u32; N]] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[[u64; N]] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <&[[f16; N]] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <[f32; N] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <[f64; N] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <[i8; N] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <[i16; N] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <[i32; N] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <[i64; N] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <[u8; N] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <[u16; N] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <[u32; N] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <[u64; N] as ChunkComponentSlicer>::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 Array, component_offsets: impl Iterator<Item = (usize, usize)> + 'a, ) -> impl Iterator<Item = <[f16; N] as ChunkComponentSlicer>::Item<'a>> + 'a

Implementors§