vortex_dtype/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4#![cfg(target_endian = "little")]
5#![deny(missing_docs)]
6
7//! A type system for Vortex
8//!
9//! This crate contains the core logical type system for Vortex, including the definition of data types,
10//! and (optionally) logic for their serialization and deserialization.
11
12#[cfg(feature = "arbitrary")]
13mod arbitrary;
14#[cfg(feature = "arrow")]
15pub mod arrow;
16mod bigint;
17pub mod datetime;
18mod decimal;
19mod dtype;
20mod extension;
21mod f16;
22mod field;
23mod field_mask;
24mod field_names;
25mod native_dtype;
26mod nullability;
27mod ptype;
28mod serde;
29mod struct_;
30
31pub use bigint::*;
32pub use decimal::*;
33pub use dtype::DType;
34pub use dtype::NativeDType;
35pub use extension::*;
36pub use f16::*;
37pub use field::*;
38pub use field_mask::*;
39pub use field_names::*;
40pub use half;
41pub use nullability::*;
42pub use ptype::*;
43pub use struct_::*;
44
45pub mod proto {
46    //! Protocol buffer representations for DTypes
47    //!
48    //! This module contains the code to serialize and deserialize DTypes to and from protocol buffers.
49
50    pub use vortex_proto::dtype;
51}
52
53pub mod flatbuffers {
54    //! Flatbuffer representations for DTypes
55    //!
56    //! This module contains the code to serialize and deserialize DTypes to and from flatbuffers.
57
58    pub use vortex_flatbuffers::dtype::*;
59
60    pub use super::serde::flatbuffers::*;
61}