Skip to main content

vortex_array/arrays/masked/vtable/
operations.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4use vortex_error::VortexResult;
5
6use crate::DynArray;
7use crate::ExecutionCtx;
8use crate::arrays::Masked;
9use crate::arrays::MaskedArray;
10use crate::scalar::Scalar;
11use crate::vtable::OperationsVTable;
12
13impl OperationsVTable<Masked> for Masked {
14    fn scalar_at(
15        array: &MaskedArray,
16        index: usize,
17        _ctx: &mut ExecutionCtx,
18    ) -> VortexResult<Scalar> {
19        // Invalid indices are handled by the entrypoint function.
20        Ok(array.child.scalar_at(index)?.into_nullable())
21    }
22}