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