pub struct NullMask { /* private fields */ }Expand description
Packed null bitmask where bit=1 means NULL, bit=0 means non-null.
Implementations§
Source§impl NullMask
impl NullMask
Sourcepub fn has_no_nulls_guarantee(&self) -> bool
pub fn has_no_nulls_guarantee(&self) -> bool
Fast-path: returns true if no nulls are guaranteed absent.
Sourcepub fn set_null(&mut self, pos: u64, is_null: bool)
pub fn set_null(&mut self, pos: u64, is_null: bool)
Set a specific position to null or non-null.
Sourcepub fn set_all_non_null(&mut self)
pub fn set_all_non_null(&mut self)
Set all positions to non-null.
Sourcepub fn set_all_null(&mut self)
pub fn set_all_null(&mut self)
Set all positions to null.
Sourcepub fn set_null_range(&mut self, offset: u64, count: u64, is_null: bool)
pub fn set_null_range(&mut self, offset: u64, count: u64, is_null: bool)
Set a range of bits to null or non-null.
Sourcepub fn count_nulls(&self) -> u64
pub fn count_nulls(&self) -> u64
Count the number of null bits set in the mask.
Sourcepub fn copy_from(
&mut self,
src: &NullMask,
src_offset: u64,
dst_offset: u64,
count: u64,
) -> bool
pub fn copy_from( &mut self, src: &NullMask, src_offset: u64, dst_offset: u64, count: u64, ) -> bool
Copy null bits from another mask.
Returns true if any null bit was copied.
Sourcepub fn resize(&mut self, new_capacity: u64)
pub fn resize(&mut self, new_capacity: u64)
Resize the mask to a new capacity. New bits are set to non-null.
Sourcepub fn num_entries(&self) -> usize
pub fn num_entries(&self) -> usize
Number of u64 entries in the backing buffer.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for NullMask
impl RefUnwindSafe for NullMask
impl Send for NullMask
impl Sync for NullMask
impl Unpin for NullMask
impl UnsafeUnpin for NullMask
impl UnwindSafe for NullMask
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.