Struct VarBinArray

Source
pub struct VarBinArray { /* private fields */ }

Implementations§

Source§

impl VarBinArray

Source

pub fn try_new( offsets: ArrayRef, bytes: ByteBuffer, dtype: DType, validity: Validity, ) -> VortexResult<Self>

Source

pub fn offsets(&self) -> &ArrayRef

Source

pub fn validity(&self) -> &Validity

Source

pub fn bytes(&self) -> &ByteBuffer

Access the value bytes child buffer

§Note

Bytes child buffer is never sliced when the array is sliced so this can include values that are not logically present in the array. Users should prefer sliced_bytes unless they’re resolving values via the offset child array.

Source

pub fn sliced_bytes(&self) -> ByteBuffer

Access value bytes child array limited to values that are logically present in the array unlike bytes.

Source

pub fn from_vec<T: AsRef<[u8]>>(vec: Vec<T>, dtype: DType) -> Self

Source

pub fn from_iter<T: AsRef<[u8]>, I: IntoIterator<Item = Option<T>>>( iter: I, dtype: DType, ) -> Self

Source

pub fn from_iter_nonnull<T: AsRef<[u8]>, I: IntoIterator<Item = T>>( iter: I, dtype: DType, ) -> Self

Source

pub fn offset_at(&self, index: usize) -> VortexResult<usize>

Get value offset at a given index

Note: There’s 1 more offsets than the elements in the array, thus last offset is at array length index

Source

pub fn bytes_at(&self, index: usize) -> VortexResult<ByteBuffer>

Access value bytes at a given index

Will return buffer referncing underlying data without performing a copy

Source

pub fn into_parts(self) -> (DType, ByteBuffer, ArrayRef, Validity)

Consumes self, returning a tuple containing the DType, the bytes array, the offsets array, and the validity.

Trait Implementations§

Source§

impl ArrayAccessor<[u8]> for VarBinArray

Source§

fn with_iterator<F, R>(&self, f: F) -> VortexResult<R>
where F: for<'a> FnOnce(&mut dyn Iterator<Item = Option<&'a [u8]>>) -> R,

Iterate over each element of the array, in-order. Read more
Source§

impl ArrayCanonicalImpl for VarBinArray

Source§

fn _to_canonical(&self) -> VortexResult<Canonical>

Returns the canonical representation of the array. Read more
Source§

fn _append_to_builder(&self, builder: &mut dyn ArrayBuilder) -> VortexResult<()>

Writes the array into the canonical builder. Read more
Source§

impl ArrayComputeImpl for VarBinArray

Source§

const FILTER: Option<KernelRef>

Source§

fn _find_kernel(&self, _compute_fn: &dyn ComputeFn) -> Option<KernelRef>

Fallback implementation to lookup compute kernels at runtime.
Source§

impl ArrayImpl for VarBinArray

Source§

type Encoding = VarBinEncoding

Source§

fn _len(&self) -> usize

Source§

fn _dtype(&self) -> &DType

Source§

fn _vtable(&self) -> VTableRef

Source§

fn _with_children(&self, children: &[ArrayRef]) -> VortexResult<Self>

Replace the children of this array with the given arrays. Read more
Source§

impl ArrayStatisticsImpl for VarBinArray

Source§

impl ArrayValidityImpl for VarBinArray

Source§

fn _is_valid(&self, index: usize) -> VortexResult<bool>

Returns whether the index item is valid. Read more
Source§

fn _all_valid(&self) -> VortexResult<bool>

Returns whether the array is all valid.
Source§

fn _all_invalid(&self) -> VortexResult<bool>

Returns whether the array is all invalid.
Source§

fn _validity_mask(&self) -> VortexResult<Mask>

Returns the canonical validity mask for the array. Read more
Source§

fn _valid_count(&self) -> VortexResult<usize>

Returns the number of valid elements in the array. Read more
Source§

fn _invalid_count(&self) -> VortexResult<usize>

Returns the number of invalid elements in the array. Read more
Source§

impl ArrayVariantsImpl for VarBinArray

Source§

fn _as_utf8_typed(&self) -> Option<&dyn Utf8ArrayTrait>

Downcasts the array for utf8-specific behavior.
Source§

fn _as_binary_typed(&self) -> Option<&dyn BinaryArrayTrait>

Downcasts the array for binary-specific behavior.
Source§

fn _as_null_typed(&self) -> Option<&dyn NullArrayTrait>

Downcasts the array for null-specific behavior.
Source§

fn _as_bool_typed(&self) -> Option<&dyn BoolArrayTrait>

Downcasts the array for bool-specific behavior.
Source§

fn _as_primitive_typed(&self) -> Option<&dyn PrimitiveArrayTrait>

Downcasts the array for primitive-specific behavior.
Source§

fn _as_struct_typed(&self) -> Option<&dyn StructArrayTrait>

Downcasts the array for struct-specific behavior.
Source§

fn _as_list_typed(&self) -> Option<&dyn ListArrayTrait>

Downcasts the array for list-specific behavior.
Source§

fn _as_extension_typed(&self) -> Option<&dyn ExtensionArrayTrait>

Downcasts the array for extension-specific behavior.
Source§

impl ArrayVisitorImpl<RkyvMetadata<VarBinMetadata>> for VarBinArray

Source§

fn _visit_buffers(&self, visitor: &mut dyn ArrayBufferVisitor)

Source§

fn _visit_children(&self, visitor: &mut dyn ArrayChildVisitor)

Source§

fn _metadata(&self) -> RkyvMetadata<VarBinMetadata>

Source§

fn _nbuffers(&self) -> usize

Source§

fn _nchildren(&self) -> usize

Source§

impl CastFn<&VarBinArray> for VarBinEncoding

Source§

fn cast(&self, array: &VarBinArray, dtype: &DType) -> VortexResult<ArrayRef>

Source§

impl Clone for VarBinArray

Source§

fn clone(&self) -> VarBinArray

Returns a copy 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 CompareFn<&VarBinArray> for VarBinEncoding

Source§

fn compare( &self, lhs: &VarBinArray, rhs: &dyn Array, operator: Operator, ) -> VortexResult<Option<ArrayRef>>

Compares two arrays and returns a new boolean array with the result of the comparison. Or, returns None if comparison is not supported for these arrays.
Source§

impl Debug for VarBinArray

Source§

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

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

impl From<Vec<&[u8]>> for VarBinArray

Source§

fn from(value: Vec<&[u8]>) -> Self

Converts to this type from the input type.
Source§

impl From<Vec<&str>> for VarBinArray

Source§

fn from(value: Vec<&str>) -> Self

Converts to this type from the input type.
Source§

impl From<Vec<String>> for VarBinArray

Source§

fn from(value: Vec<String>) -> Self

Converts to this type from the input type.
Source§

impl From<Vec<Vec<u8>>> for VarBinArray

Source§

fn from(value: Vec<Vec<u8>>) -> Self

Converts to this type from the input type.
Source§

impl<'a> FromIterator<Option<&'a [u8]>> for VarBinArray

Source§

fn from_iter<T: IntoIterator<Item = Option<&'a [u8]>>>(iter: T) -> Self

Creates a value from an iterator. Read more
Source§

impl<'a> FromIterator<Option<&'a str>> for VarBinArray

Source§

fn from_iter<T: IntoIterator<Item = Option<&'a str>>>(iter: T) -> Self

Creates a value from an iterator. Read more
Source§

impl FromIterator<Option<String>> for VarBinArray

Source§

fn from_iter<T: IntoIterator<Item = Option<String>>>(iter: T) -> Self

Creates a value from an iterator. Read more
Source§

impl FromIterator<Option<Vec<u8>>> for VarBinArray

Source§

fn from_iter<T: IntoIterator<Item = Option<Vec<u8>>>>(iter: T) -> Self

Creates a value from an iterator. Read more
Source§

impl IsConstantFn<&VarBinArray> for VarBinEncoding

Source§

fn is_constant( &self, array: &VarBinArray, _opts: &IsConstantOpts, ) -> VortexResult<Option<bool>>

Preconditions Read more
Source§

impl IsSortedFn<&VarBinArray> for VarBinEncoding

Source§

impl MaskFn<&VarBinArray> for VarBinEncoding

Source§

fn mask(&self, array: &VarBinArray, mask: Mask) -> VortexResult<ArrayRef>

Replace masked values with null in array.
Source§

impl MinMaxFn<&VarBinArray> for VarBinEncoding

Source§

impl ScalarAtFn<&VarBinArray> for VarBinEncoding

Source§

fn scalar_at(&self, array: &VarBinArray, index: usize) -> VortexResult<Scalar>

Source§

impl SliceFn<&VarBinArray> for VarBinEncoding

Source§

fn slice( &self, array: &VarBinArray, start: usize, stop: usize, ) -> VortexResult<ArrayRef>

Return a zero-copy slice of an array, between start (inclusive) and end (exclusive). If start >= stop, returns an empty array of the same type as self. Assumes that start or stop are out of bounds, may panic otherwise.
Source§

impl TakeFn<&VarBinArray> for VarBinEncoding

Source§

fn take( &self, array: &VarBinArray, indices: &dyn Array, ) -> VortexResult<ArrayRef>

Create a new array by taking the values from the array at the given indices. Read more
Source§

fn take_into( &self, array: A, indices: &dyn Array, builder: &mut dyn ArrayBuilder, ) -> VortexResult<()>

Has the same semantics as Self::take but materializes the result into the provided builder.
Source§

impl ToArrowFn<&VarBinArray> for VarBinEncoding

Source§

fn preferred_arrow_data_type( &self, array: &VarBinArray, ) -> VortexResult<Option<DataType>>

Return the preferred Arrow DataType of the encoding, or None of the canonical DataType for the array’s Vortex vortex_dtype::DType should be used.
Source§

fn to_arrow( &self, array: &VarBinArray, data_type: &DataType, ) -> VortexResult<Option<ArrayRef>>

Convert the array to an Arrow array of the given type. Read more
Source§

impl TryFrom<Arc<dyn Array>> for VarBinArray

Source§

type Error = VortexError

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

fn try_from(value: ArrayRef) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl UncompressedSizeFn<&VarBinArray> for VarBinEncoding

Source§

fn uncompressed_size(&self, array: &VarBinArray) -> VortexResult<usize>

Compute the approximated uncompressed size of the array, in bytes.
Source§

impl BinaryArrayTrait for VarBinArray

Source§

impl Utf8ArrayTrait for VarBinArray

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> ArchivePointee for T

Source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
Source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

impl<A> Array for A
where A: ArrayImpl + 'static,

Source§

fn is_valid(&self, index: usize) -> Result<bool, VortexError>

Returns whether the item at index is valid.

Source§

fn is_invalid(&self, index: usize) -> Result<bool, VortexError>

Returns whether the item at index is invalid.

Source§

fn all_valid(&self) -> Result<bool, VortexError>

Returns whether all items in the array are valid.

This is usually cheaper than computing a precise valid_count.

Source§

fn all_invalid(&self) -> Result<bool, VortexError>

Returns whether the array is all invalid.

This is usually cheaper than computing a precise invalid_count.

Source§

fn valid_count(&self) -> Result<usize, VortexError>

Returns the number of valid elements in the array.

Source§

fn invalid_count(&self) -> Result<usize, VortexError>

Returns the number of invalid elements in the array.

Source§

fn validity_mask(&self) -> Result<Mask, VortexError>

Returns the canonical validity mask for the array.

Source§

fn to_canonical(&self) -> Result<Canonical, VortexError>

Returns the canonical representation of the array.

Source§

fn append_to_builder( &self, builder: &mut dyn ArrayBuilder, ) -> Result<(), VortexError>

Writes the array into the canonical builder.

The DType of the builder must match that of the array.

Source§

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

Returns the array as a reference to a generic Any trait object.
Source§

fn as_any_arc(self: Arc<A>) -> Arc<dyn Any + Sync + Send>

Returns the array as an Arc reference to a generic Any trait object.
Source§

fn to_array(&self) -> Arc<dyn Array>

Returns the array as an ArrayRef.
Source§

fn into_array(self) -> Arc<dyn Array>

Converts the array into an ArrayRef.
Source§

fn len(&self) -> usize

Returns the length of the array.
Source§

fn dtype(&self) -> &DType

Returns the logical Vortex DType of the array.
Source§

fn encoding(&self) -> ArcRef<str>

Returns the encoding of the array.
Source§

fn vtable(&self) -> ArcRef<dyn EncodingVTable>

Returns the encoding VTable.
Source§

fn find_kernel(&self, compute_fn: &dyn ComputeFn) -> Option<ArcRef<dyn Kernel>>

Attempts to find a kernel for the given compute invocation.
Source§

fn statistics(&self) -> StatsSetRef<'_>

Returns the statistics of the array.
Source§

fn with_children( &self, children: &[Arc<dyn Array>], ) -> Result<Arc<dyn Array>, VortexError>

Replaces the children of the array with the given array references.
Source§

fn is_empty(&self) -> bool

Returns whether the array is empty (has zero rows).
Source§

fn is_encoding(&self, encoding: EncodingId) -> bool

Returns whether the array is of the given encoding.
Source§

fn is_arrow(&self) -> bool

Returns whether this array is an arrow encoding.
Source§

fn is_canonical(&self) -> bool

Whether the array is of a canonical encoding.
Source§

impl<A> ArrayExt for A
where A: Array + ?Sized,

Source§

fn as_<A: Array + 'static>(&self) -> &A

Returns the array downcast to the given A.
Source§

fn as_opt<A: Array + 'static>(&self) -> Option<&A>

Returns the array downcast to the given A.
Source§

fn is<A: Array + 'static>(&self) -> bool

Is self an array with encoding A.
Source§

impl<A> ArrayIteratorArrayExt for A
where A: Array + ?Sized,

Source§

fn to_array_iterator(&self) -> impl ArrayIterator + 'static

Create an ArrayIterator over the array.
Source§

impl<A> ArrayStatistics for A
where A: Array + 'static,

Source§

fn is_constant(&self) -> bool

Make a best effort attempt to try and figure out if the array is constant, without canonicalizing it.
Source§

fn as_constant(&self) -> Option<Scalar>

If Self::is_constant is true, return the actual constant value as a Scalar.
Source§

impl<A> ArrayStreamArrayExt for A
where A: Array + ?Sized,

Source§

fn to_array_stream(&self) -> impl ArrayStream + 'static

Create an ArrayStream over the array.
Source§

impl<A> ArrayVariants for A
where A: ArrayImpl,

Source§

fn as_null_typed(&self) -> Option<&dyn NullArrayTrait>

Downcasts the array for null-specific behavior.

Source§

fn as_bool_typed(&self) -> Option<&dyn BoolArrayTrait>

Downcasts the array for bool-specific behavior.

Source§

fn as_primitive_typed(&self) -> Option<&dyn PrimitiveArrayTrait>

Downcasts the array for primitive-specific behavior.

Source§

fn as_utf8_typed(&self) -> Option<&dyn Utf8ArrayTrait>

Downcasts the array for utf8-specific behavior.

Source§

fn as_binary_typed(&self) -> Option<&dyn BinaryArrayTrait>

Downcasts the array for binary-specific behavior.

Source§

fn as_struct_typed(&self) -> Option<&dyn StructArrayTrait>

Downcasts the array for struct-specific behavior.

Source§

fn as_list_typed(&self) -> Option<&dyn ListArrayTrait>

Downcasts the array for list-specific behavior.

Source§

fn as_extension_typed(&self) -> Option<&dyn ExtensionArrayTrait>

Downcasts the array for extension-specific behavior.

Source§

impl<A> ArrayVisitor for A
where A: ArrayImpl,

Source§

fn children(&self) -> Vec<Arc<dyn Array>>

Returns the children of the array.
Source§

fn nchildren(&self) -> usize

Returns the number of children of the array.
Source§

fn children_names(&self) -> Vec<String>

Returns the names of the children of the array.
Source§

fn named_children(&self) -> Vec<(String, Arc<dyn Array>)>

Returns the array’s children with their names.
Source§

fn buffers(&self) -> Vec<Buffer<u8>>

Returns the buffers of the array.
Source§

fn nbuffers(&self) -> usize

Returns the number of buffers of the array.
Source§

fn metadata(&self) -> Option<Vec<u8>>

Returns the serialized metadata of the array.
Source§

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

Formats a human-readable metadata description.
Source§

impl<A> ArrayVisitorExt for A
where A: Array + ?Sized,

Source§

fn nbuffers_recursive(&self) -> usize

Count the number of buffers encoded by self and all child arrays.
Source§

fn depth_first_traversal(&self) -> impl Iterator<Item = ArrayRef>

Depth-first traversal of the array and its children.
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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> LayoutRaw for T

Source§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
Source§

impl<T> NBytes for T
where T: Array + ?Sized,

Source§

fn nbytes(&self) -> usize

Total size of the array in bytes, including all children and buffers.
Source§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

Source§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
Source§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
Source§

impl<T> Pointee for T

Source§

type Metadata = ()

The metadata type for pointers and references to this type.
Source§

impl<A> ToCanonical for A
where A: Array + ?Sized,

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, 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<A> TryFromArrayRef for A
where A: Array + Clone + 'static,

Source§

fn try_from_array(array: Arc<dyn Array>) -> Result<A, Arc<dyn Array>>

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<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T