mod boolean_buffer_builder;
pub use boolean_buffer_builder::*;
mod boolean_builder;
pub use boolean_builder::*;
mod buffer_builder;
pub use buffer_builder::*;
mod decimal_builder;
pub use decimal_builder::*;
mod fixed_size_binary_builder;
pub use fixed_size_binary_builder::*;
mod fixed_size_list_builder;
pub use fixed_size_list_builder::*;
mod generic_binary_builder;
pub use generic_binary_builder::*;
mod generic_list_builder;
pub use generic_list_builder::*;
mod generic_string_builder;
pub use generic_string_builder::*;
mod map_builder;
pub use map_builder::*;
mod null_buffer_builder;
mod primitive_builder;
pub use primitive_builder::*;
mod primitive_dictionary_builder;
pub use primitive_dictionary_builder::*;
mod string_dictionary_builder;
pub use string_dictionary_builder::*;
mod struct_builder;
pub use struct_builder::*;
mod union_builder;
pub use union_builder::*;
use crate::ArrayRef;
use std::any::Any;
pub trait ArrayBuilder: Any + Send {
fn len(&self) -> usize;
fn is_empty(&self) -> bool;
fn finish(&mut self) -> ArrayRef;
fn as_any(&self) -> &dyn Any;
fn as_any_mut(&mut self) -> &mut dyn Any;
fn into_box_any(self: Box<Self>) -> Box<dyn Any>;
}
pub type ListBuilder<T> = GenericListBuilder<i32, T>;
pub type LargeListBuilder<T> = GenericListBuilder<i64, T>;
pub type BinaryBuilder = GenericBinaryBuilder<i32>;
pub type LargeBinaryBuilder = GenericBinaryBuilder<i64>;
pub type StringBuilder = GenericStringBuilder<i32>;
pub type LargeStringBuilder = GenericStringBuilder<i64>;