BoolVector

Struct BoolVector 

Source
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

Source

pub fn new(bits: BitBuffer, validity: Mask) -> BoolVector

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.

Source

pub fn try_new( bits: BitBuffer, validity: Mask, ) -> Result<BoolVector, VortexError>

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.

Source

pub unsafe fn new_unchecked(bits: BitBuffer, validity: Mask) -> BoolVector

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.

Source

pub fn into_parts(self) -> (BitBuffer, Mask)

Decomposes the boolean vector into its constituent parts (bit buffer and validity).

Source

pub fn bits(&self) -> &BitBuffer

Returns the bits buffer of the boolean vector.

Source

pub fn into_bits(self) -> BitBuffer

Consumes the boolean vector and returns the bits buffer.

Source

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 Cast for BoolVector

Source§

fn cast(&self, target_dtype: &DType) -> Result<Vector, VortexError>

Casts to Bool (identity) or Primitive (as 0/1).

Source§

type Output = Vector

The output type after casting.
Source§

impl Clone for BoolVector

Source§

fn clone(&self) -> BoolVector

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<Op> Compare<Op> for BoolVector
where Op: BitComparisonOperator,

Source§

type Output = BoolVector

The result type after performing the operation.
Source§

fn compare(self, rhs: BoolVector) -> <BoolVector as Compare<Op>>::Output

Perform the comparison operation.
Source§

impl Debug for BoolVector

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<M> Filter<M> for &BoolVector
where &'a Mask: for<'a> Filter<M, Output = Mask>, &'a BitBuffer: for<'a> Filter<M, Output = BitBuffer>,

Source§

type Output = BoolVector

The result type after performing the operation.
Source§

fn filter(self, selection: &M) -> <&BoolVector as Filter<M>>::Output

Filters an object using the provided mask, returning a new value. Read more
Source§

impl<M> Filter<M> for BoolVector
where &'a mut BoolVectorMut: for<'a> Filter<M, Output = ()>, &'a BoolVector: for<'a> Filter<M, Output = BoolVector>,

Source§

type Output = BoolVector

The result type after performing the operation.
Source§

fn filter(self, selection: &M) -> BoolVector

Filters an object using the provided mask, returning a new value. Read more
Source§

impl From<BoolVector> for BoolDatum

Source§

fn from(val: BoolVector) -> BoolDatum

Converts to this type from the input type.
Source§

impl From<BoolVector> for Vector

Source§

fn from(v: BoolVector) -> Vector

Converts to this type from the input type.
Source§

impl FromIterator<bool> for BoolVector

Source§

fn from_iter<I>(iter: I) -> BoolVector
where I: IntoIterator<Item = bool>,

Creates a new BoolVector from an iterator of bool values.

Source§

impl IntoArrow for BoolVector

Source§

type Output = BooleanArray

The output Arrow type.
Source§

fn into_arrow(self) -> Result<<BoolVector as IntoArrow>::Output, VortexError>

Convert the Vortex vector object into an Arrow object.
Source§

impl LogicalAnd for &BoolVector

Source§

type Output = BoolVector

The resulting type after performing the logical AND operation.
Source§

fn and(self, other: &BoolVector) -> BoolVector

Perform a logical AND operation between two values.
Source§

impl LogicalAndKleene for &BoolVector

Source§

type Output = BoolVector

The resulting type after performing the logical AND KLEENE operation.
Source§

fn and_kleene(self, rhs: &BoolVector) -> BoolVector

Perform a logical AND KLEENE operation between two values.
Source§

impl LogicalAndNot for &BoolVector

Source§

type Output = BoolVector

The resulting type after performing the logical AND NOT operation.
Source§

fn and_not(self, other: &BoolVector) -> BoolVector

Perform a logical AND NOT operation between two values.
Source§

impl LogicalNot for &BoolVector

Source§

type Output = BoolVector

The resulting type after performing the logical NOT operation.
Source§

fn not(self) -> <&BoolVector as LogicalNot>::Output

Perform a logical NOT operation.
Source§

impl LogicalNot for BoolVector

Source§

type Output = BoolVector

The resulting type after performing the logical NOT operation.
Source§

fn not(self) -> <BoolVector as LogicalNot>::Output

Perform a logical NOT operation.
Source§

impl LogicalOp<And> for &BoolVector

Source§

type Output = BoolVector

The resulting type after performing the logical operation.
Source§

fn op(self, rhs: &BoolVector) -> BoolVector

Perform a logical operation between two values.
Source§

impl LogicalOp<AndNot> for &BoolVector

Source§

type Output = BoolVector

The resulting type after performing the logical operation.
Source§

fn op(self, rhs: &BoolVector) -> BoolVector

Perform a logical operation between two values.
Source§

impl LogicalOp<KleeneAnd> for &BoolVector

Source§

type Output = BoolVector

The resulting type after performing the logical operation.
Source§

fn op(self, rhs: &BoolVector) -> BoolVector

Perform a logical operation between two values.
Source§

impl LogicalOp<KleeneOr> for &BoolVector

Source§

type Output = BoolVector

The resulting type after performing the logical operation.
Source§

fn op(self, rhs: &BoolVector) -> BoolVector

Perform a logical operation between two values.
Source§

impl LogicalOp<Or> for &BoolVector

Source§

type Output = BoolVector

The resulting type after performing the logical operation.
Source§

fn op(self, rhs: &BoolVector) -> BoolVector

Perform a logical operation between two values.
Source§

impl LogicalOr for &BoolVector

Source§

type Output = BoolVector

The resulting type after performing the logical OR operation.
Source§

fn or(self, other: &BoolVector) -> BoolVector

Perform a logical OR operation between two values.
Source§

impl LogicalOrKleene for &BoolVector

Source§

type Output = BoolVector

The resulting type after performing the logical OR KLEENE operation.
Source§

fn or_kleene(self, rhs: &BoolVector) -> BoolVector

Perform a logical OR KLEENE operation between two values.
Source§

impl PartialEq for BoolVector

Source§

fn eq(&self, other: &BoolVector) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<I> Take<[I]> for &BoolVector
where I: UnsignedPType,

Source§

type Output = BoolVector

The result type after performing the operation.
Source§

fn take(self, indices: &[I]) -> BoolVector

Creates a new object using the elements from the input indexed by indices. Read more
Source§

impl<I> Take<PVector<I>> for &BoolVector
where I: UnsignedPType,

Source§

type Output = BoolVector

The result type after performing the operation.
Source§

fn take(self, indices: &PVector<I>) -> BoolVector

Creates a new object using the elements from the input indexed by indices. Read more
Source§

impl VectorIntoArray<BoolArray> for BoolVector

Source§

fn into_array(self, dtype: &DType) -> BoolArray

Converts the vector into an array of the specified data type.
Source§

impl VectorOps for BoolVector

Source§

type Mutable = BoolVectorMut

The mutable equivalent of this immutable vector.
Source§

type Scalar = BoolScalar

The scalar type for this vector.
Source§

fn len(&self) -> usize

Returns the number of elements in the vector, also referred to as its “length”.
Source§

fn validity(&self) -> &Mask

Returns the validity mask of the vector, where true represents a valid element and false represents a null element. Read more
Source§

fn mask_validity(&mut self, mask: &Mask)

Masks the validity of the vector with another validity mask. The resulting vector’s validity is the intersection of the two validity masks.
Source§

fn scalar_at(&self, index: usize) -> BoolScalar

Return the scalar at the given index. Read more
Source§

fn slice(&self, range: impl RangeBounds<usize> + Clone + Debug) -> BoolVector

Slice the vector from start to end (exclusive).
Source§

fn clear(&mut self)

Clears the vector of data, preserving any existing capacity where possible.
Source§

fn try_into_mut(self) -> Result<BoolVectorMut, BoolVector>

Tries to convert self into a mutable vector (implementing VectorMutOps). Read more
Source§

fn into_mut(self) -> BoolVectorMut

Converts self into a mutable vector (implementing VectorMutOps). Read more
Source§

fn is_empty(&self) -> bool

Returns true if the vector contains no elements.
Source§

fn null_count(&self) -> usize

Returns the null count of the vector.
Source§

impl Eq for BoolVector

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> CompatExt for T

Source§

fn compat(self) -> Compat<T>

Applies the Compat adapter by value. Read more
Source§

fn compat_ref(&self) -> Compat<&T>

Applies the Compat adapter by shared reference. Read more
Source§

fn compat_mut(&mut self) -> Compat<&mut T>

Applies the Compat adapter by mutable reference. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> DynEq for T
where T: PartialEq + 'static,

Source§

fn dyn_eq(&self, other: &(dyn Any + 'static)) -> bool

Compares self with another Any type for equality.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows 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
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows 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
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> SessionVar for T
where T: Send + Sync + Debug + 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .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
where Self: BorrowMut<B>, B: ?Sized,

Calls .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
where Self: AsRef<R>, R: ?Sized,

Calls .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
where Self: AsMut<R>, R: ?Sized,

Calls .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
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

impl<T> Ungil for T
where T: Send,