vortex_array/arrays/varbin/compute/
slice.rs1use 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}