vortex_array/arrays/extension/compute/
slice.rs1use std::ops::Range;
5
6use vortex_error::VortexResult;
7
8use crate::ArrayRef;
9use crate::IntoArray;
10use crate::arrays::ExtensionArray;
11use crate::arrays::ExtensionVTable;
12use crate::arrays::SliceReduce;
13
14impl SliceReduce for ExtensionVTable {
15 fn slice(array: &Self::Array, range: Range<usize>) -> VortexResult<Option<ArrayRef>> {
16 Ok(Some(
17 ExtensionArray::new(array.ext_dtype().clone(), array.storage().slice(range)?)
18 .into_array(),
19 ))
20 }
21}