Struct arrow2::array::MutableBooleanArray

source ·
pub struct MutableBooleanArray { /* private fields */ }
Expand description

The Arrow’s equivalent to Vec<Option<bool>>, but with 1/16 of its size. Converting a MutableBooleanArray into a BooleanArray is O(1).

§Implementation

This struct does not allocate a validity until one is required (i.e. push a null to it).

Implementations§

source§

impl<'a> MutableBooleanArray

source

pub fn iter(&'a self) -> ZipValidity<bool, BitmapIter<'a>, BitmapIter<'a>>

Returns an iterator over the optional values of this MutableBooleanArray.

source

pub fn values_iter(&'a self) -> BitmapIter<'a>

Returns an iterator over the values of this MutableBooleanArray

source§

impl MutableBooleanArray

source

pub fn new() -> Self

Creates an new empty MutableBooleanArray.

source

pub fn try_new( data_type: DataType, values: MutableBitmap, validity: Option<MutableBitmap> ) -> Result<Self, Error>

The canonical method to create a MutableBooleanArray out of low-end APIs.

§Errors

This function errors iff:

source

pub fn with_capacity(capacity: usize) -> Self

Creates an new MutableBooleanArray with a capacity of values.

source

pub fn reserve(&mut self, additional: usize)

Reserves additional slots.

source

pub fn push(&mut self, value: Option<bool>)

Pushes a new entry to MutableBooleanArray.

source

pub fn pop(&mut self) -> Option<bool>

Pop an entry from MutableBooleanArray. Note If the values is empty, this method will return None.

source

pub fn extend_trusted_len_values<I>(&mut self, iterator: I)
where I: TrustedLen<Item = bool>,

Extends the MutableBooleanArray from an iterator of values of trusted len. This differs from extend_trusted_len which accepts in iterator of optional values.

source

pub unsafe fn extend_trusted_len_values_unchecked<I>(&mut self, iterator: I)
where I: Iterator<Item = bool>,

Extends the MutableBooleanArray from an iterator of values of trusted len. This differs from extend_trusted_len_unchecked, which accepts in iterator of optional values.

§Safety

The iterator must be trusted len.

source

pub fn extend_trusted_len<I, P>(&mut self, iterator: I)
where P: Borrow<bool>, I: TrustedLen<Item = Option<P>>,

Extends the MutableBooleanArray from an iterator of trusted len.

source

pub unsafe fn extend_trusted_len_unchecked<I, P>(&mut self, iterator: I)
where P: Borrow<bool>, I: Iterator<Item = Option<P>>,

Extends the MutableBooleanArray from an iterator of trusted len.

§Safety

The iterator must be trusted len.

source

pub fn into_arc(self) -> Arc<dyn Array>

Converts itself into an Array.

source§

impl MutableBooleanArray

Getters

source

pub fn values(&self) -> &MutableBitmap

Returns its values.

source§

impl MutableBooleanArray

Setters

source

pub fn set(&mut self, index: usize, value: Option<bool>)

Sets position index to value. Note that if it is the first time a null appears in this array, this initializes the validity bitmap (O(N)).

§Panic

Panics iff index is larger than self.len().

source§

impl MutableBooleanArray

From implementations

source

pub fn from_trusted_len_values_iter<I: TrustedLen<Item = bool>>( iterator: I ) -> Self

Creates a new MutableBooleanArray from an TrustedLen of bool.

source

pub unsafe fn from_trusted_len_values_iter_unchecked<I: Iterator<Item = bool>>( iterator: I ) -> Self

Creates a new MutableBooleanArray from an TrustedLen of bool. Use this over BooleanArray::from_trusted_len_iter when the iterator is trusted len but this crate does not mark it as such.

§Safety

The iterator must be TrustedLen. I.e. that size_hint().1 correctly reports its length.

source

pub fn from_slice<P: AsRef<[bool]>>(slice: P) -> Self

Creates a new MutableBooleanArray from a slice of bool.

source

pub unsafe fn from_trusted_len_iter_unchecked<I, P>(iterator: I) -> Self
where P: Borrow<bool>, I: Iterator<Item = Option<P>>,

Creates a BooleanArray from an iterator of trusted length. Use this over BooleanArray::from_trusted_len_iter when the iterator is trusted len but this crate does not mark it as such.

§Safety

The iterator must be TrustedLen. I.e. that size_hint().1 correctly reports its length.

source

pub fn from_trusted_len_iter<I, P>(iterator: I) -> Self
where P: Borrow<bool>, I: TrustedLen<Item = Option<P>>,

Creates a BooleanArray from a TrustedLen.

source

pub unsafe fn try_from_trusted_len_iter_unchecked<E, I, P>( iterator: I ) -> Result<Self, E>
where P: Borrow<bool>, I: Iterator<Item = Result<Option<P>, E>>,

Creates a BooleanArray from an falible iterator of trusted length.

§Safety

The iterator must be TrustedLen. I.e. that size_hint().1 correctly reports its length.

source

pub fn try_from_trusted_len_iter<E, I, P>(iterator: I) -> Result<Self, E>
where P: Borrow<bool>, I: TrustedLen<Item = Result<Option<P>, E>>,

Creates a BooleanArray from a TrustedLen.

source

pub fn shrink_to_fit(&mut self)

Shrinks the capacity of the MutableBooleanArray to fit its current length.

Trait Implementations§

source§

impl Clone for MutableBooleanArray

source§

fn clone(&self) -> MutableBooleanArray

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MutableBooleanArray

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MutableBooleanArray

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Extend<Option<bool>> for MutableBooleanArray

source§

fn extend<I: IntoIterator<Item = Option<bool>>>(&mut self, iter: I)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl From<MutableBooleanArray> for BooleanArray

source§

fn from(other: MutableBooleanArray) -> Self

Converts to this type from the input type.
source§

impl<P: AsRef<[Option<bool>]>> From<P> for MutableBooleanArray

source§

fn from(slice: P) -> Self

Creates a new MutableBooleanArray out of a slice of Optional bool.

source§

impl<Ptr: Borrow<Option<bool>>> FromIterator<Ptr> for MutableBooleanArray

source§

fn from_iter<I: IntoIterator<Item = Ptr>>(iter: I) -> Self

Creates a value from an iterator. Read more
source§

impl<'a> IntoIterator for &'a MutableBooleanArray

§

type Item = Option<bool>

The type of the elements being iterated over.
§

type IntoIter = ZipValidity<bool, BitmapIter<'a>, BitmapIter<'a>>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl MutableArray for MutableBooleanArray

source§

fn len(&self) -> usize

The length of the array.
source§

fn validity(&self) -> Option<&MutableBitmap>

The optional validity of the array.
source§

fn as_box(&mut self) -> Box<dyn Array>

Convert itself to an (immutable) Array.
source§

fn as_arc(&mut self) -> Arc<dyn Array>

Convert itself to an (immutable) atomically reference counted Array.
source§

fn data_type(&self) -> &DataType

The DataType of the array.
source§

fn as_any(&self) -> &dyn Any

Convert to Any, to enable dynamic casting.
source§

fn as_mut_any(&mut self) -> &mut dyn Any

Convert to mutable Any, to enable dynamic casting.
source§

fn push_null(&mut self)

Adds a new null element to the array.
source§

fn reserve(&mut self, additional: usize)

Reserves additional slots to its capacity.
source§

fn shrink_to_fit(&mut self)

Shrink the array to fit its length.
source§

fn is_empty(&self) -> bool

Whether the array is empty.
source§

fn is_valid(&self, index: usize) -> bool

Whether index is valid / set. Read more
source§

impl PartialEq for MutableBooleanArray

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl TryExtend<Option<bool>> for MutableBooleanArray

source§

fn try_extend<I: IntoIterator<Item = Option<bool>>>( &mut self, iter: I ) -> Result<(), Error>

This is infalible and is implemented for consistency with all other types

source§

impl TryExtendFromSelf for MutableBooleanArray

source§

fn try_extend_from_self(&mut self, other: &Self) -> Result<(), Error>

Tries to extend itself with elements from other, failing only on overflow.
source§

impl TryPush<Option<bool>> for MutableBooleanArray

source§

fn try_push(&mut self, item: Option<bool>) -> Result<(), Error>

This is infalible and is implemented for consistency with all other types

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> DynClone for T
where T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.