Struct arrow_buffer::buffer::BooleanBuffer
source · pub struct BooleanBuffer { /* private fields */ }Expand description
A slice-able Buffer containing bit-packed booleans
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 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
§type Output = BooleanBuffer
type Output = BooleanBuffer
& operator.source§impl BitOr<&BooleanBuffer> for &BooleanBuffer
impl BitOr<&BooleanBuffer> for &BooleanBuffer
§type Output = BooleanBuffer
type Output = BooleanBuffer
| operator.source§impl BitXor<&BooleanBuffer> for &BooleanBuffer
impl BitXor<&BooleanBuffer> for &BooleanBuffer
§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