vortex_array/arrays/varbin/compute/
slice.rs

1use vortex_error::VortexResult;
2
3use crate::arrays::VarBinEncoding;
4use crate::arrays::varbin::VarBinArray;
5use crate::compute::{SliceFn, slice};
6use crate::{Array, ArrayRef};
7
8impl SliceFn<&VarBinArray> for VarBinEncoding {
9    fn slice(&self, array: &VarBinArray, start: usize, stop: usize) -> VortexResult<ArrayRef> {
10        VarBinArray::try_new(
11            slice(array.offsets(), start, stop + 1)?,
12            array.bytes().clone(),
13            array.dtype().clone(),
14            array.validity().slice(start, stop)?,
15        )
16        .map(|a| a.into_array())
17    }
18}