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 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