vortex_array/arrays/list/compute/
mask.rs1use vortex_error::VortexResult;
5use vortex_mask::Mask;
6
7use crate::ArrayRef;
8use crate::IntoArray;
9use crate::arrays::ListArray;
10use crate::arrays::ListVTable;
11use crate::compute::MaskKernel;
12use crate::compute::MaskKernelAdapter;
13use crate::register_kernel;
14use crate::vtable::ValidityHelper;
15
16impl MaskKernel for ListVTable {
17 fn mask(&self, array: &ListArray, mask: &Mask) -> VortexResult<ArrayRef> {
18 ListArray::try_new(
19 array.elements().clone(),
20 array.offsets().clone(),
21 array.validity().mask(mask),
22 )
23 .map(|a| a.into_array())
24 }
25}
26
27register_kernel!(MaskKernelAdapter(ListVTable).lift());