vortex_array/arrays/bool/
mod.rs

1mod array;
2pub mod compute;
3mod ops;
4mod patch;
5mod serde;
6#[cfg(feature = "test-harness")]
7mod test;
8
9pub use array::*;
10// Re-export the BooleanBuffer type on our API surface.
11pub use arrow_buffer::{BooleanBuffer, BooleanBufferBuilder};
12
13use crate::vtable::{NotSupported, VTable, ValidityVTableFromValidityHelper};
14use crate::{EncodingId, EncodingRef, vtable};
15
16vtable!(Bool);
17
18impl VTable for BoolVTable {
19    type Array = BoolArray;
20    type Encoding = BoolEncoding;
21
22    type ArrayVTable = Self;
23    type CanonicalVTable = Self;
24    type OperationsVTable = Self;
25    type ValidityVTable = ValidityVTableFromValidityHelper;
26    type VisitorVTable = Self;
27    type ComputeVTable = NotSupported;
28    type EncodeVTable = NotSupported;
29    // Enable serde for this encoding
30    type SerdeVTable = Self;
31
32    fn id(_encoding: &Self::Encoding) -> EncodingId {
33        EncodingId::new_ref("vortex.bool")
34    }
35
36    fn encoding(_array: &Self::Array) -> EncodingRef {
37        EncodingRef::new_ref(BoolEncoding.as_ref())
38    }
39}
40
41#[derive(Clone, Debug)]
42pub struct BoolEncoding;