pub struct BooleanBuffer { /* private fields */ }Expand description
A slice-able Buffer containing bit-packed booleans
BooleanBuffers can be creating using BooleanBufferBuilder
§See Also
NullBufferfor representing null values in Arrow arrays
Implementations§
Source§impl BooleanBuffer
impl BooleanBuffer
Sourcepub fn new(buffer: Buffer, offset: usize, len: usize) -> Self
pub fn new(buffer: Buffer, offset: usize, len: usize) -> Self
Create a new BooleanBuffer from a Buffer, an offset and length in bits
§Panics
This method will panic if buffer is not large enough
Sourcepub fn new_set(length: usize) -> Self
pub fn new_set(length: usize) -> Self
Create a new BooleanBuffer of length where all values are true
Sourcepub fn new_unset(length: usize) -> Self
pub fn new_unset(length: usize) -> Self
Create a new BooleanBuffer of length where all values are false
Sourcepub fn collect_bool<F: FnMut(usize) -> bool>(len: usize, f: F) -> Self
pub fn collect_bool<F: FnMut(usize) -> bool>(len: usize, f: F) -> Self
Invokes f with indexes 0..len collecting the boolean results into a new BooleanBuffer
Sourcepub fn count_set_bits(&self) -> usize
pub fn count_set_bits(&self) -> usize
Returns the number of set bits in this buffer
Sourcepub fn bit_chunks(&self) -> BitChunks<'_>
pub fn bit_chunks(&self) -> BitChunks<'_>
Returns a BitChunks instance which can be used to iterate over
this buffer’s bits in u64 chunks
Sourcepub fn offset(&self) -> usize
pub fn offset(&self) -> usize
Returns the offset of this BooleanBuffer in bits
Sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Returns the length of this BooleanBuffer in bits
Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true if this BooleanBuffer is empty
Sourcepub fn shrink_to_fit(&mut self)
pub fn shrink_to_fit(&mut self)
Free up unused memory.
Sourcepub unsafe fn value_unchecked(&self, i: usize) -> bool
pub unsafe fn value_unchecked(&self, i: usize) -> bool
Returns the boolean value at index i.
§Safety
This doesn’t check bounds, the caller must ensure that index < self.len()
Sourcepub fn values(&self) -> &[u8] ⓘ
pub fn values(&self) -> &[u8] ⓘ
Returns the packed values of this BooleanBuffer not including any offset
Sourcepub fn slice(&self, offset: usize, len: usize) -> Self
pub fn slice(&self, offset: usize, len: usize) -> Self
Slices this BooleanBuffer by the provided offset and length
Sourcepub fn sliced(&self) -> Buffer
pub fn sliced(&self) -> Buffer
Returns a Buffer containing the sliced contents of this BooleanBuffer
Equivalent to self.buffer.bit_slice(self.offset, self.len)
Sourcepub fn ptr_eq(&self, other: &Self) -> bool
pub fn ptr_eq(&self, other: &Self) -> bool
Returns true if this BooleanBuffer is equal to other, using pointer comparisons
to determine buffer equality. This is cheaper than PartialEq::eq but may
return false when the arrays are logically equal
Sourcepub fn into_inner(self) -> Buffer
pub fn into_inner(self) -> Buffer
Returns the inner Buffer, consuming self
Sourcepub fn iter(&self) -> BitIterator<'_> ⓘ
pub fn iter(&self) -> BitIterator<'_> ⓘ
Returns an iterator over the bits in this BooleanBuffer
Sourcepub fn set_indices(&self) -> BitIndexIterator<'_> ⓘ
pub fn set_indices(&self) -> BitIndexIterator<'_> ⓘ
Returns an iterator over the set bit positions in this BooleanBuffer
Sourcepub fn set_slices(&self) -> BitSliceIterator<'_> ⓘ
pub fn set_slices(&self) -> BitSliceIterator<'_> ⓘ
Returns a BitSliceIterator yielding contiguous ranges of set bits
Trait Implementations§
Source§impl BitAnd<&BooleanBuffer> for &BooleanBuffer
impl BitAnd<&BooleanBuffer> for &BooleanBuffer
Source§type Output = BooleanBuffer
type Output = BooleanBuffer
& operator.Source§impl BitOr<&BooleanBuffer> for &BooleanBuffer
impl BitOr<&BooleanBuffer> for &BooleanBuffer
Source§type Output = BooleanBuffer
type Output = BooleanBuffer
| operator.Source§impl BitXor<&BooleanBuffer> for &BooleanBuffer
impl BitXor<&BooleanBuffer> for &BooleanBuffer
Source§type Output = BooleanBuffer
type Output = BooleanBuffer
^ operator.Source§impl Clone for BooleanBuffer
impl Clone for BooleanBuffer
Source§fn clone(&self) -> BooleanBuffer
fn clone(&self) -> BooleanBuffer
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more