vortex_array/arrays/masked/vtable/
mod.rs1mod array;
5mod canonical;
6mod operations;
7mod operator;
8mod serde;
9mod validity;
10
11use crate::arrays::masked::MaskedArray;
12use crate::vtable::{NotSupported, VTable, ValidityVTableFromValidityHelper};
13use crate::{EncodingId, EncodingRef, vtable};
14
15vtable!(Masked);
16
17#[derive(Clone, Debug)]
18pub struct MaskedEncoding;
19
20impl VTable for MaskedVTable {
21 type Array = MaskedArray;
22 type Encoding = MaskedEncoding;
23
24 type ArrayVTable = Self;
25 type CanonicalVTable = Self;
26 type OperationsVTable = Self;
27 type ValidityVTable = ValidityVTableFromValidityHelper;
28 type VisitorVTable = Self;
29 type ComputeVTable = NotSupported;
30 type EncodeVTable = NotSupported;
31 type SerdeVTable = Self;
32 type OperatorVTable = Self;
33
34 fn id(_encoding: &Self::Encoding) -> EncodingId {
35 EncodingId::new_ref("vortex.masked")
36 }
37
38 fn encoding(_array: &Self::Array) -> EncodingRef {
39 EncodingRef::new_ref(MaskedEncoding.as_ref())
40 }
41}