Struct vortex_array::array::BooleanBuffer
pub struct BooleanBuffer { /* private fields */ }
Expand description
A slice-able [Buffer
] containing bit-packed booleans
Implementations§
§impl BooleanBuffer
impl BooleanBuffer
pub fn new(buffer: Buffer, offset: usize, len: usize) -> BooleanBuffer
pub fn new(buffer: Buffer, offset: usize, len: usize) -> BooleanBuffer
Create a new BooleanBuffer
from a [Buffer
], an offset
and length
in bits
§Panics
This method will panic if buffer
is not large enough
pub fn new_set(length: usize) -> BooleanBuffer
pub fn new_set(length: usize) -> BooleanBuffer
Create a new BooleanBuffer
of length
where all values are true
pub fn new_unset(length: usize) -> BooleanBuffer
pub fn new_unset(length: usize) -> BooleanBuffer
Create a new BooleanBuffer
of length
where all values are false
pub fn collect_bool<F>(len: usize, f: F) -> BooleanBuffer
pub fn collect_bool<F>(len: usize, f: F) -> BooleanBuffer
Invokes f
with indexes 0..len
collecting the boolean results into a new BooleanBuffer
pub fn count_set_bits(&self) -> usize
pub fn count_set_bits(&self) -> usize
Returns the number of set bits in this buffer
pub 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
pub fn offset(&self) -> usize
pub fn offset(&self) -> usize
Returns the offset of this BooleanBuffer
in bits
pub fn len(&self) -> usize
pub fn len(&self) -> usize
Returns the length of this BooleanBuffer
in bits
pub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true if this BooleanBuffer
is empty
pub 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()
pub fn values(&self) -> &[u8] ⓘ
pub fn values(&self) -> &[u8] ⓘ
Returns the packed values of this BooleanBuffer
not including any offset
pub fn slice(&self, offset: usize, len: usize) -> BooleanBuffer
pub fn slice(&self, offset: usize, len: usize) -> BooleanBuffer
Slices this BooleanBuffer
by the provided offset
and length
pub 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)
pub fn ptr_eq(&self, other: &BooleanBuffer) -> bool
pub fn ptr_eq(&self, other: &BooleanBuffer) -> 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
pub fn inner(&self) -> &Buffer
pub fn inner(&self) -> &Buffer
Returns the inner [Buffer
]
pub fn into_inner(self) -> Buffer
pub fn into_inner(self) -> Buffer
Returns the inner [Buffer
], consuming self
pub fn iter(&self) -> BitIterator<'_>
pub fn iter(&self) -> BitIterator<'_>
Returns an iterator over the bits in this BooleanBuffer
pub fn set_indices(&self) -> BitIndexIterator<'_>
pub fn set_indices(&self) -> BitIndexIterator<'_>
Returns an iterator over the set bit positions in this BooleanBuffer
pub fn set_slices(&self) -> BitSliceIterator<'_>
pub fn set_slices(&self) -> BitSliceIterator<'_>
Returns a [BitSliceIterator
] yielding contiguous ranges of set bits
Trait Implementations§
§impl BitAnd<&BooleanBuffer> for &BooleanBuffer
impl BitAnd<&BooleanBuffer> for &BooleanBuffer
§type Output = BooleanBuffer
type Output = BooleanBuffer
&
operator.§fn bitand(
self,
rhs: &BooleanBuffer,
) -> <&BooleanBuffer as BitAnd<&BooleanBuffer>>::Output
fn bitand( self, rhs: &BooleanBuffer, ) -> <&BooleanBuffer as BitAnd<&BooleanBuffer>>::Output
&
operation. Read more§impl BitOr<&BooleanBuffer> for &BooleanBuffer
impl BitOr<&BooleanBuffer> for &BooleanBuffer
§type Output = BooleanBuffer
type Output = BooleanBuffer
|
operator.§fn bitor(
self,
rhs: &BooleanBuffer,
) -> <&BooleanBuffer as BitOr<&BooleanBuffer>>::Output
fn bitor( self, rhs: &BooleanBuffer, ) -> <&BooleanBuffer as BitOr<&BooleanBuffer>>::Output
|
operation. Read more§impl BitXor<&BooleanBuffer> for &BooleanBuffer
impl BitXor<&BooleanBuffer> for &BooleanBuffer
§type Output = BooleanBuffer
type Output = BooleanBuffer
^
operator.§fn bitxor(
self,
rhs: &BooleanBuffer,
) -> <&BooleanBuffer as BitXor<&BooleanBuffer>>::Output
fn bitxor( self, rhs: &BooleanBuffer, ) -> <&BooleanBuffer as BitXor<&BooleanBuffer>>::Output
^
operation. Read more§impl Clone for BooleanBuffer
impl Clone for BooleanBuffer
§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§impl Debug for BooleanBuffer
impl Debug for BooleanBuffer
§impl From<&[bool]> for BooleanBuffer
impl From<&[bool]> for BooleanBuffer
§fn from(value: &[bool]) -> BooleanBuffer
fn from(value: &[bool]) -> BooleanBuffer
source§impl From<BooleanBuffer> for ArrayData
impl From<BooleanBuffer> for ArrayData
source§fn from(value: BooleanBuffer) -> Self
fn from(value: BooleanBuffer) -> Self
source§impl From<BooleanBuffer> for BoolArray
impl From<BooleanBuffer> for BoolArray
source§fn from(value: BooleanBuffer) -> Self
fn from(value: BooleanBuffer) -> Self
source§impl From<BooleanBuffer> for FilterMask
impl From<BooleanBuffer> for FilterMask
source§fn from(value: BooleanBuffer) -> Self
fn from(value: BooleanBuffer) -> Self
source§impl From<BooleanBuffer> for Validity
impl From<BooleanBuffer> for Validity
source§fn from(value: BooleanBuffer) -> Self
fn from(value: BooleanBuffer) -> Self
§impl From<BooleanBufferBuilder> for BooleanBuffer
impl From<BooleanBufferBuilder> for BooleanBuffer
§fn from(builder: BooleanBufferBuilder) -> BooleanBuffer
fn from(builder: BooleanBufferBuilder) -> BooleanBuffer
§impl From<Vec<bool>> for BooleanBuffer
impl From<Vec<bool>> for BooleanBuffer
§fn from(value: Vec<bool>) -> BooleanBuffer
fn from(value: Vec<bool>) -> BooleanBuffer
§impl FromIterator<bool> for BooleanBuffer
impl FromIterator<bool> for BooleanBuffer
§fn from_iter<T>(iter: T) -> BooleanBufferwhere
T: IntoIterator<Item = bool>,
fn from_iter<T>(iter: T) -> BooleanBufferwhere
T: IntoIterator<Item = bool>,
§impl<'a> IntoIterator for &'a BooleanBuffer
impl<'a> IntoIterator for &'a BooleanBuffer
§impl Not for &BooleanBuffer
impl Not for &BooleanBuffer
§type Output = BooleanBuffer
type Output = BooleanBuffer
!
operator.§impl PartialEq for BooleanBuffer
impl PartialEq for BooleanBuffer
source§impl StatisticsVTable<BooleanBuffer> for BoolEncoding
impl StatisticsVTable<BooleanBuffer> for BoolEncoding
source§fn compute_statistics(
&self,
buffer: &BooleanBuffer,
stat: Stat,
) -> VortexResult<StatsSet>
fn compute_statistics( &self, buffer: &BooleanBuffer, stat: Stat, ) -> VortexResult<StatsSet>
impl Eq for BooleanBuffer
Auto Trait Implementations§
impl Freeze for BooleanBuffer
impl RefUnwindSafe for BooleanBuffer
impl Send for BooleanBuffer
impl Sync for BooleanBuffer
impl Unpin for BooleanBuffer
impl UnwindSafe for BooleanBuffer
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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 more