vortex_array/arrays/list/compute/
mask.rs1use vortex_error::VortexResult;
2use vortex_mask::Mask;
3
4use crate::arrays::{ListArray, ListEncoding};
5use crate::compute::{MaskKernel, MaskKernelAdapter};
6use crate::{Array, ArrayRef, register_kernel};
7
8impl MaskKernel for ListEncoding {
9 fn mask(&self, array: &ListArray, mask: &Mask) -> VortexResult<ArrayRef> {
10 ListArray::try_new(
11 array.elements().clone(),
12 array.offsets().clone(),
13 array.validity().mask(mask)?,
14 )
15 .map(|a| a.into_array())
16 }
17}
18
19register_kernel!(MaskKernelAdapter(ListEncoding).lift());