Struct datafusion::common::arrow::array::builder::BooleanBuilder
source · pub struct BooleanBuilder { /* private fields */ }
Expand description
Builder for BooleanArray
§Example
Create a BooleanArray
from a BooleanBuilder
let mut b = BooleanBuilder::new();
b.append_value(true);
b.append_null();
b.append_value(false);
b.append_value(true);
let arr = b.finish();
assert_eq!(4, arr.len());
assert_eq!(1, arr.null_count());
assert_eq!(true, arr.value(0));
assert!(arr.is_valid(0));
assert!(!arr.is_null(0));
assert!(!arr.is_valid(1));
assert!(arr.is_null(1));
assert_eq!(false, arr.value(2));
assert!(arr.is_valid(2));
assert!(!arr.is_null(2));
assert_eq!(true, arr.value(3));
assert!(arr.is_valid(3));
assert!(!arr.is_null(3));
Implementations§
source§impl BooleanBuilder
impl BooleanBuilder
sourcepub fn new() -> BooleanBuilder
pub fn new() -> BooleanBuilder
Creates a new boolean builder
sourcepub fn with_capacity(capacity: usize) -> BooleanBuilder
pub fn with_capacity(capacity: usize) -> BooleanBuilder
Creates a new boolean builder with space for capacity
elements without re-allocating
sourcepub fn capacity(&self) -> usize
pub fn capacity(&self) -> usize
Returns the capacity of this builder measured in slots of type T
sourcepub fn append_value(&mut self, v: bool)
pub fn append_value(&mut self, v: bool)
Appends a value of type T
into the builder
sourcepub fn append_null(&mut self)
pub fn append_null(&mut self)
Appends a null slot into the builder
sourcepub fn append_nulls(&mut self, n: usize)
pub fn append_nulls(&mut self, n: usize)
Appends n
null
s into the builder.
sourcepub fn append_option(&mut self, v: Option<bool>)
pub fn append_option(&mut self, v: Option<bool>)
Appends an Option<T>
into the builder
sourcepub fn append_slice(&mut self, v: &[bool])
pub fn append_slice(&mut self, v: &[bool])
Appends a slice of type T
into the builder
sourcepub fn append_values(
&mut self,
values: &[bool],
is_valid: &[bool],
) -> Result<(), ArrowError>
pub fn append_values( &mut self, values: &[bool], is_valid: &[bool], ) -> Result<(), ArrowError>
Appends values from a slice of type T
and a validity boolean slice.
Returns an error if the slices are of different lengths
sourcepub fn finish(&mut self) -> BooleanArray
pub fn finish(&mut self) -> BooleanArray
Builds the BooleanArray and reset this builder.
sourcepub fn finish_cloned(&self) -> BooleanArray
pub fn finish_cloned(&self) -> BooleanArray
Builds the BooleanArray without resetting the builder.
sourcepub fn values_slice(&self) -> &[u8] ⓘ
pub fn values_slice(&self) -> &[u8] ⓘ
Returns the current values buffer as a slice
Boolean values are bit-packed into bytes. To extract the i-th boolean
from the bytes, you can use arrow_buffer::bit_util::get_bit()
.
sourcepub fn validity_slice(&self) -> Option<&[u8]>
pub fn validity_slice(&self) -> Option<&[u8]>
Returns the current null buffer as a slice
Trait Implementations§
source§impl ArrayBuilder for BooleanBuilder
impl ArrayBuilder for BooleanBuilder
source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Returns the builder as a mutable Any
reference.
source§fn into_box_any(self: Box<BooleanBuilder>) -> Box<dyn Any>
fn into_box_any(self: Box<BooleanBuilder>) -> Box<dyn Any>
Returns the boxed builder as a box of Any
.
source§fn finish_cloned(&self) -> Arc<dyn Array>
fn finish_cloned(&self) -> Arc<dyn Array>
Builds the array without resetting the builder.
source§impl Debug for BooleanBuilder
impl Debug for BooleanBuilder
source§impl Default for BooleanBuilder
impl Default for BooleanBuilder
source§fn default() -> BooleanBuilder
fn default() -> BooleanBuilder
source§impl Extend<Option<bool>> for BooleanBuilder
impl Extend<Option<bool>> for BooleanBuilder
source§fn extend<T>(&mut self, iter: T)
fn extend<T>(&mut self, iter: T)
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)Auto Trait Implementations§
impl Freeze for BooleanBuilder
impl RefUnwindSafe for BooleanBuilder
impl Send for BooleanBuilder
impl Sync for BooleanBuilder
impl Unpin for BooleanBuilder
impl UnwindSafe for BooleanBuilder
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more