pub struct ValidityBitmap { /* private fields */ }Expand description
Bit-packed validity bitmap using Vec<u64>.
Each bit indicates whether the corresponding row is valid (1) or
missing/null (0). Uses 1 bit per row instead of 1 byte, yielding
8× memory savings over Vec<bool>.
Implementations§
Source§impl ValidityBitmap
impl ValidityBitmap
Sourcepub fn all_invalid(len: usize) -> Self
pub fn all_invalid(len: usize) -> Self
Creates a bitmap where all len positions are invalid (null).
Sourcepub fn is_valid(&self, idx: usize) -> bool
pub fn is_valid(&self, idx: usize) -> bool
Returns true if the value at idx is valid (not null).
Sourcepub fn set_invalid(&mut self, idx: usize)
pub fn set_invalid(&mut self, idx: usize)
Marks position idx as invalid (null).
Sourcepub fn null_count(&self) -> usize
pub fn null_count(&self) -> usize
Counts the number of null (invalid) positions.
Uses hardware POPCNT instruction for fast counting.
Sourcepub fn valid_count(&self) -> usize
pub fn valid_count(&self) -> usize
Counts the number of valid (non-null) positions.
Sourcepub fn valid_indices(&self) -> ValidIndicesIter<'_> ⓘ
pub fn valid_indices(&self) -> ValidIndicesIter<'_> ⓘ
Returns an iterator over indices of valid positions.
Trait Implementations§
Source§impl Clone for ValidityBitmap
impl Clone for ValidityBitmap
Source§fn clone(&self) -> ValidityBitmap
fn clone(&self) -> ValidityBitmap
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ValidityBitmap
impl Debug for ValidityBitmap
Source§impl PartialEq for ValidityBitmap
impl PartialEq for ValidityBitmap
impl StructuralPartialEq for ValidityBitmap
Auto Trait Implementations§
impl Freeze for ValidityBitmap
impl RefUnwindSafe for ValidityBitmap
impl Send for ValidityBitmap
impl Sync for ValidityBitmap
impl Unpin for ValidityBitmap
impl UnsafeUnpin for ValidityBitmap
impl UnwindSafe for ValidityBitmap
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more