pub struct BoolVector { /* private fields */ }Expand description
An immutable vector of boolean values.
Internally, this BoolVector is a wrapper around a BitBuffer and a validity mask.
Implementations§
Source§impl BoolVector
impl BoolVector
Sourcepub fn new(bits: BitBuffer, validity: Mask) -> Self
pub fn new(bits: BitBuffer, validity: Mask) -> Self
Creates a new BoolVector from the given bits and validity mask.
§Panics
Panics if the length of the validity mask does not match the length of the bits.
Sourcepub fn try_new(bits: BitBuffer, validity: Mask) -> VortexResult<Self>
pub fn try_new(bits: BitBuffer, validity: Mask) -> VortexResult<Self>
Tries to create a new BoolVector from the given bits and validity mask.
§Errors
Returns an error if the length of the validity mask does not match the length of the bits.
Sourcepub unsafe fn new_unchecked(bits: BitBuffer, validity: Mask) -> Self
pub unsafe fn new_unchecked(bits: BitBuffer, validity: Mask) -> Self
Creates a new BoolVector from the given bits and validity mask without validation.
§Safety
The caller must ensure that the validity mask has the same length as the bits.
Sourcepub fn into_parts(self) -> (BitBuffer, Mask)
pub fn into_parts(self) -> (BitBuffer, Mask)
Decomposes the boolean vector into its constituent parts (bit buffer and validity).
Sourcepub fn get(&self, index: usize) -> Option<bool>
pub fn get(&self, index: usize) -> Option<bool>
Gets a nullable element at the given index, panicking on out-of-bounds.
If the element at the given index is null, returns None. Otherwise, returns Some(x),
where x: bool.
Note that this get method is different from the standard library slice::get, which
returns None if the index is out of bounds. This method will panic if the index is out of
bounds, and return None if the element is null.
§Panics
Panics if the index is out of bounds.
Trait Implementations§
Source§impl Clone for BoolVector
impl Clone for BoolVector
Source§fn clone(&self) -> BoolVector
fn clone(&self) -> BoolVector
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BoolVector
impl Debug for BoolVector
Source§impl From<BoolVector> for BoolDatum
impl From<BoolVector> for BoolDatum
Source§fn from(val: BoolVector) -> Self
fn from(val: BoolVector) -> Self
Source§impl From<BoolVector> for Vector
impl From<BoolVector> for Vector
Source§fn from(v: BoolVector) -> Self
fn from(v: BoolVector) -> Self
Source§impl FromIterator<bool> for BoolVector
impl FromIterator<bool> for BoolVector
Source§fn from_iter<I>(iter: I) -> Selfwhere
I: IntoIterator<Item = bool>,
fn from_iter<I>(iter: I) -> Selfwhere
I: IntoIterator<Item = bool>,
Creates a new BoolVector from an iterator of bool values.
Source§impl PartialEq for BoolVector
impl PartialEq for BoolVector
Source§impl VectorOps for BoolVector
impl VectorOps for BoolVector
Source§type Mutable = BoolVectorMut
type Mutable = BoolVectorMut
Source§type Scalar = BoolScalar
type Scalar = BoolScalar
Source§fn len(&self) -> usize
fn len(&self) -> usize
Source§fn validity(&self) -> &Mask
fn validity(&self) -> &Mask
true represents a valid element and
false represents a null element. Read moreSource§fn mask_validity(&mut self, mask: &Mask)
fn mask_validity(&mut self, mask: &Mask)
Source§fn scalar_at(&self, index: usize) -> BoolScalar
fn scalar_at(&self, index: usize) -> BoolScalar
Source§fn slice(&self, range: impl RangeBounds<usize> + Clone + Debug) -> Self
fn slice(&self, range: impl RangeBounds<usize> + Clone + Debug) -> Self
start to end (exclusive).Source§fn clear(&mut self)
fn clear(&mut self)
Source§fn try_into_mut(self) -> Result<BoolVectorMut, Self>
fn try_into_mut(self) -> Result<BoolVectorMut, Self>
Source§fn into_mut(self) -> BoolVectorMut
fn into_mut(self) -> BoolVectorMut
Source§fn null_count(&self) -> usize
fn null_count(&self) -> usize
impl Eq for BoolVector
Auto Trait Implementations§
impl !Freeze for BoolVector
impl RefUnwindSafe for BoolVector
impl Send for BoolVector
impl Sync for BoolVector
impl Unpin for BoolVector
impl UnwindSafe for BoolVector
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§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.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 moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.