vortex_array/arrays/listview/vtable/
mod.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4use crate::arrays::ListViewArray;
5use crate::vtable::{NotSupported, VTable, ValidityVTableFromValidityHelper};
6use crate::{EncodingId, EncodingRef, vtable};
7
8mod array;
9mod canonical;
10mod operations;
11mod serde;
12mod validity;
13mod visitor;
14
15vtable!(ListView);
16
17#[derive(Clone, Debug)]
18pub struct ListViewEncoding;
19
20impl VTable for ListViewVTable {
21    type Array = ListViewArray;
22    type Encoding = ListViewEncoding;
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 PipelineVTable = NotSupported;
32    type SerdeVTable = Self;
33
34    fn id(_encoding: &Self::Encoding) -> EncodingId {
35        EncodingId::new_ref("vortex.listview")
36    }
37
38    fn encoding(_array: &Self::Array) -> EncodingRef {
39        EncodingRef::new_ref(ListViewEncoding.as_ref())
40    }
41}