vortex_array/arrays/chunked/
mod.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4mod array;
5mod compute;
6mod decode;
7mod ops;
8mod serde;
9
10pub use array::*;
11
12use crate::vtable::{NotSupported, VTable};
13use crate::{EncodingId, EncodingRef, vtable};
14
15vtable!(Chunked);
16
17impl VTable for ChunkedVTable {
18    type Array = ChunkedArray;
19    type Encoding = ChunkedEncoding;
20
21    type ArrayVTable = Self;
22    type CanonicalVTable = Self;
23    type OperationsVTable = Self;
24    type ValidityVTable = Self;
25    type VisitorVTable = Self;
26    type ComputeVTable = Self;
27    type EncodeVTable = NotSupported;
28    type SerdeVTable = Self;
29
30    fn id(_encoding: &Self::Encoding) -> EncodingId {
31        EncodingId::new_ref("vortex.chunked")
32    }
33
34    fn encoding(_array: &Self::Array) -> EncodingRef {
35        EncodingRef::new_ref(ChunkedEncoding.as_ref())
36    }
37}
38
39#[derive(Clone, Debug)]
40pub struct ChunkedEncoding;