vortex_array/arrays/varbinview/compute/
mask.rs

1use vortex_error::VortexResult;
2use vortex_mask::Mask;
3
4use crate::arrays::{VarBinViewArray, VarBinViewEncoding};
5use crate::compute::{MaskKernel, MaskKernelAdapter};
6use crate::{Array, ArrayRef, register_kernel};
7
8impl MaskKernel for VarBinViewEncoding {
9    fn mask(&self, array: &VarBinViewArray, mask: &Mask) -> VortexResult<ArrayRef> {
10        Ok(VarBinViewArray::try_new(
11            array.views().clone(),
12            array.buffers().to_vec(),
13            array.dtype().as_nullable(),
14            array.validity().mask(mask)?,
15        )?
16        .into_array())
17    }
18}
19
20register_kernel!(MaskKernelAdapter(VarBinViewEncoding).lift());