#![cfg_attr(vortex_nightly, feature(portable_simd))]
extern crate self as vortex_array;
use std::sync::LazyLock;
pub use array::*;
pub use canonical::*;
pub use columnar::*;
pub use executor::*;
pub use hash::*;
pub use mask_future::*;
pub use metadata::*;
pub use vortex_array_macros::array_slots;
use vortex_session::VortexSession;
use vortex_session::registry::Context;
use crate::session::ArraySession;
pub mod accessor;
pub mod aggregate_fn;
#[doc(hidden)]
pub mod aliases;
mod array;
pub mod arrays;
pub mod arrow;
pub mod buffer;
pub mod builders;
pub mod builtins;
mod canonical;
mod columnar;
pub mod compute;
pub mod display;
pub mod dtype;
mod executor;
pub mod expr;
mod expression;
pub mod extension;
mod hash;
pub mod iter;
pub mod kernel;
pub mod mask;
mod mask_future;
pub mod matcher;
pub mod memory;
mod metadata;
pub mod normalize;
pub mod optimizer;
mod partial_ord;
pub mod patches;
pub mod scalar;
pub mod scalar_fn;
pub mod search_sorted;
pub mod serde;
pub mod session;
pub mod stats;
pub mod stream;
#[cfg(any(test, feature = "_test-harness"))]
pub mod test_harness;
pub mod validity;
pub mod variants;
pub mod flatbuffers {
pub use vortex_flatbuffers::array::*;
}
pub static LEGACY_SESSION: LazyLock<VortexSession> =
LazyLock::new(|| VortexSession::empty().with::<ArraySession>());
pub type ArrayContext = Context<ArrayPluginRef>;