pub struct VarBinArray { /* private fields */ }
Implementations§
Source§impl VarBinArray
impl VarBinArray
pub fn try_new( offsets: ArrayRef, bytes: ByteBuffer, dtype: DType, validity: Validity, ) -> VortexResult<Self>
pub fn offsets(&self) -> &ArrayRef
pub fn validity(&self) -> &Validity
Sourcepub fn bytes(&self) -> &ByteBuffer
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.
Sourcepub fn sliced_bytes(&self) -> ByteBuffer
pub fn sliced_bytes(&self) -> ByteBuffer
Access value bytes child array limited to values that are logically present in the array unlike bytes.
pub fn from_vec<T: AsRef<[u8]>>(vec: Vec<T>, dtype: DType) -> Self
pub fn from_iter<T: AsRef<[u8]>, I: IntoIterator<Item = Option<T>>>( iter: I, dtype: DType, ) -> Self
pub fn from_iter_nonnull<T: AsRef<[u8]>, I: IntoIterator<Item = T>>( iter: I, dtype: DType, ) -> Self
Sourcepub fn offset_at(&self, index: usize) -> VortexResult<usize>
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
Sourcepub fn bytes_at(&self, index: usize) -> VortexResult<ByteBuffer>
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
Sourcepub fn into_parts(self) -> (DType, ByteBuffer, ArrayRef, Validity)
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
impl ArrayAccessor<[u8]> for VarBinArray
Source§fn with_iterator<F, R>(&self, f: F) -> VortexResult<R>
fn with_iterator<F, R>(&self, f: F) -> VortexResult<R>
Source§impl ArrayCanonicalImpl for VarBinArray
impl ArrayCanonicalImpl for VarBinArray
Source§fn _to_canonical(&self) -> VortexResult<Canonical>
fn _to_canonical(&self) -> VortexResult<Canonical>
Source§fn _append_to_builder(&self, builder: &mut dyn ArrayBuilder) -> VortexResult<()>
fn _append_to_builder(&self, builder: &mut dyn ArrayBuilder) -> VortexResult<()>
Source§impl ArrayComputeImpl for VarBinArray
impl ArrayComputeImpl for VarBinArray
Source§impl ArrayImpl for VarBinArray
impl ArrayImpl for VarBinArray
Source§impl ArrayStatisticsImpl for VarBinArray
impl ArrayStatisticsImpl for VarBinArray
fn _stats_ref(&self) -> StatsSetRef<'_>
Source§impl ArrayValidityImpl for VarBinArray
impl ArrayValidityImpl for VarBinArray
Source§fn _is_valid(&self, index: usize) -> VortexResult<bool>
fn _is_valid(&self, index: usize) -> VortexResult<bool>
index
item is valid. Read moreSource§fn _all_valid(&self) -> VortexResult<bool>
fn _all_valid(&self) -> VortexResult<bool>
Source§fn _all_invalid(&self) -> VortexResult<bool>
fn _all_invalid(&self) -> VortexResult<bool>
Source§fn _validity_mask(&self) -> VortexResult<Mask>
fn _validity_mask(&self) -> VortexResult<Mask>
Source§fn _valid_count(&self) -> VortexResult<usize>
fn _valid_count(&self) -> VortexResult<usize>
Source§fn _invalid_count(&self) -> VortexResult<usize>
fn _invalid_count(&self) -> VortexResult<usize>
Source§impl ArrayVariantsImpl for VarBinArray
impl ArrayVariantsImpl for VarBinArray
Source§fn _as_utf8_typed(&self) -> Option<&dyn Utf8ArrayTrait>
fn _as_utf8_typed(&self) -> Option<&dyn Utf8ArrayTrait>
Source§fn _as_binary_typed(&self) -> Option<&dyn BinaryArrayTrait>
fn _as_binary_typed(&self) -> Option<&dyn BinaryArrayTrait>
Source§fn _as_null_typed(&self) -> Option<&dyn NullArrayTrait>
fn _as_null_typed(&self) -> Option<&dyn NullArrayTrait>
Source§fn _as_bool_typed(&self) -> Option<&dyn BoolArrayTrait>
fn _as_bool_typed(&self) -> Option<&dyn BoolArrayTrait>
Source§fn _as_primitive_typed(&self) -> Option<&dyn PrimitiveArrayTrait>
fn _as_primitive_typed(&self) -> Option<&dyn PrimitiveArrayTrait>
Source§fn _as_struct_typed(&self) -> Option<&dyn StructArrayTrait>
fn _as_struct_typed(&self) -> Option<&dyn StructArrayTrait>
Source§fn _as_list_typed(&self) -> Option<&dyn ListArrayTrait>
fn _as_list_typed(&self) -> Option<&dyn ListArrayTrait>
Source§fn _as_extension_typed(&self) -> Option<&dyn ExtensionArrayTrait>
fn _as_extension_typed(&self) -> Option<&dyn ExtensionArrayTrait>
Source§impl ArrayVisitorImpl<RkyvMetadata<VarBinMetadata>> for VarBinArray
impl ArrayVisitorImpl<RkyvMetadata<VarBinMetadata>> for VarBinArray
fn _visit_buffers(&self, visitor: &mut dyn ArrayBufferVisitor)
fn _visit_children(&self, visitor: &mut dyn ArrayChildVisitor)
fn _metadata(&self) -> RkyvMetadata<VarBinMetadata>
fn _nbuffers(&self) -> usize
fn _nchildren(&self) -> usize
Source§impl CastFn<&VarBinArray> for VarBinEncoding
impl CastFn<&VarBinArray> for VarBinEncoding
fn cast(&self, array: &VarBinArray, dtype: &DType) -> VortexResult<ArrayRef>
Source§impl Clone for VarBinArray
impl Clone for VarBinArray
Source§fn clone(&self) -> VarBinArray
fn clone(&self) -> VarBinArray
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl CompareFn<&VarBinArray> for VarBinEncoding
impl CompareFn<&VarBinArray> for VarBinEncoding
Source§fn compare(
&self,
lhs: &VarBinArray,
rhs: &dyn Array,
operator: Operator,
) -> VortexResult<Option<ArrayRef>>
fn compare( &self, lhs: &VarBinArray, rhs: &dyn Array, operator: Operator, ) -> VortexResult<Option<ArrayRef>>
Source§impl Debug for VarBinArray
impl Debug for VarBinArray
Source§impl<'a> FromIterator<Option<&'a [u8]>> for VarBinArray
impl<'a> FromIterator<Option<&'a [u8]>> for VarBinArray
Source§impl<'a> FromIterator<Option<&'a str>> for VarBinArray
impl<'a> FromIterator<Option<&'a str>> for VarBinArray
Source§impl FromIterator<Option<String>> for VarBinArray
impl FromIterator<Option<String>> for VarBinArray
Source§impl FromIterator<Option<Vec<u8>>> for VarBinArray
impl FromIterator<Option<Vec<u8>>> for VarBinArray
Source§impl IsConstantFn<&VarBinArray> for VarBinEncoding
impl IsConstantFn<&VarBinArray> for VarBinEncoding
Source§fn is_constant(
&self,
array: &VarBinArray,
_opts: &IsConstantOpts,
) -> VortexResult<Option<bool>>
fn is_constant( &self, array: &VarBinArray, _opts: &IsConstantOpts, ) -> VortexResult<Option<bool>>
Source§impl IsSortedFn<&VarBinArray> for VarBinEncoding
impl IsSortedFn<&VarBinArray> for VarBinEncoding
Source§fn is_sorted(&self, array: &VarBinArray) -> VortexResult<bool>
fn is_sorted(&self, array: &VarBinArray) -> VortexResult<bool>
fn is_strict_sorted(&self, array: &VarBinArray) -> VortexResult<bool>
Source§impl MaskFn<&VarBinArray> for VarBinEncoding
impl MaskFn<&VarBinArray> for VarBinEncoding
Source§fn mask(&self, array: &VarBinArray, mask: Mask) -> VortexResult<ArrayRef>
fn mask(&self, array: &VarBinArray, mask: Mask) -> VortexResult<ArrayRef>
Source§impl MinMaxFn<&VarBinArray> for VarBinEncoding
impl MinMaxFn<&VarBinArray> for VarBinEncoding
fn min_max(&self, array: &VarBinArray) -> VortexResult<Option<MinMaxResult>>
Source§impl ScalarAtFn<&VarBinArray> for VarBinEncoding
impl ScalarAtFn<&VarBinArray> for VarBinEncoding
fn scalar_at(&self, array: &VarBinArray, index: usize) -> VortexResult<Scalar>
Source§impl SliceFn<&VarBinArray> for VarBinEncoding
impl SliceFn<&VarBinArray> for VarBinEncoding
Source§fn slice(
&self,
array: &VarBinArray,
start: usize,
stop: usize,
) -> VortexResult<ArrayRef>
fn slice( &self, array: &VarBinArray, start: usize, stop: usize, ) -> VortexResult<ArrayRef>
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
impl TakeFn<&VarBinArray> for VarBinEncoding
Source§fn take(
&self,
array: &VarBinArray,
indices: &dyn Array,
) -> VortexResult<ArrayRef>
fn take( &self, array: &VarBinArray, indices: &dyn Array, ) -> VortexResult<ArrayRef>
Source§fn take_into(
&self,
array: A,
indices: &dyn Array,
builder: &mut dyn ArrayBuilder,
) -> VortexResult<()>
fn take_into( &self, array: A, indices: &dyn Array, builder: &mut dyn ArrayBuilder, ) -> VortexResult<()>
Self::take
but materializes the result into the provided
builder.Source§impl ToArrowFn<&VarBinArray> for VarBinEncoding
impl ToArrowFn<&VarBinArray> for VarBinEncoding
Source§fn preferred_arrow_data_type(
&self,
array: &VarBinArray,
) -> VortexResult<Option<DataType>>
fn preferred_arrow_data_type( &self, array: &VarBinArray, ) -> VortexResult<Option<DataType>>
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>>
fn to_arrow( &self, array: &VarBinArray, data_type: &DataType, ) -> VortexResult<Option<ArrayRef>>
Source§impl UncompressedSizeFn<&VarBinArray> for VarBinEncoding
impl UncompressedSizeFn<&VarBinArray> for VarBinEncoding
Source§fn uncompressed_size(&self, array: &VarBinArray) -> VortexResult<usize>
fn uncompressed_size(&self, array: &VarBinArray) -> VortexResult<usize>
impl BinaryArrayTrait for VarBinArray
impl Utf8ArrayTrait for VarBinArray
Auto Trait Implementations§
impl !Freeze for VarBinArray
impl !RefUnwindSafe for VarBinArray
impl Send for VarBinArray
impl Sync for VarBinArray
impl Unpin for VarBinArray
impl !UnwindSafe for VarBinArray
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<A> Array for Awhere
A: ArrayImpl + 'static,
impl<A> Array for Awhere
A: ArrayImpl + 'static,
Source§fn is_valid(&self, index: usize) -> Result<bool, VortexError>
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>
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>
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>
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>
fn valid_count(&self) -> Result<usize, VortexError>
Returns the number of valid elements in the array.
Source§fn invalid_count(&self) -> Result<usize, VortexError>
fn invalid_count(&self) -> Result<usize, VortexError>
Returns the number of invalid elements in the array.
Source§fn validity_mask(&self) -> Result<Mask, VortexError>
fn validity_mask(&self) -> Result<Mask, VortexError>
Returns the canonical validity mask for the array.
Source§fn to_canonical(&self) -> Result<Canonical, VortexError>
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>
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)
fn as_any(&self) -> &(dyn Any + 'static)
Any
trait object.Source§fn vtable(&self) -> ArcRef<dyn EncodingVTable>
fn vtable(&self) -> ArcRef<dyn EncodingVTable>
Source§fn find_kernel(&self, compute_fn: &dyn ComputeFn) -> Option<ArcRef<dyn Kernel>>
fn find_kernel(&self, compute_fn: &dyn ComputeFn) -> Option<ArcRef<dyn Kernel>>
Source§fn statistics(&self) -> StatsSetRef<'_>
fn statistics(&self) -> StatsSetRef<'_>
Source§fn with_children(
&self,
children: &[Arc<dyn Array>],
) -> Result<Arc<dyn Array>, VortexError>
fn with_children( &self, children: &[Arc<dyn Array>], ) -> Result<Arc<dyn Array>, VortexError>
Source§fn is_encoding(&self, encoding: EncodingId) -> bool
fn is_encoding(&self, encoding: EncodingId) -> bool
Source§fn is_canonical(&self) -> bool
fn is_canonical(&self) -> bool
Source§impl<A> ArrayIteratorArrayExt for A
impl<A> ArrayIteratorArrayExt for A
Source§fn to_array_iterator(&self) -> impl ArrayIterator + 'static
fn to_array_iterator(&self) -> impl ArrayIterator + 'static
ArrayIterator
over the array.Source§impl<A> ArrayStatistics for Awhere
A: Array + 'static,
impl<A> ArrayStatistics for Awhere
A: Array + 'static,
Source§fn is_constant(&self) -> bool
fn is_constant(&self) -> bool
Source§fn as_constant(&self) -> Option<Scalar>
fn as_constant(&self) -> Option<Scalar>
Self::is_constant
is true, return the actual constant value as a Scalar
.Source§impl<A> ArrayStreamArrayExt for A
impl<A> ArrayStreamArrayExt for A
Source§fn to_array_stream(&self) -> impl ArrayStream + 'static
fn to_array_stream(&self) -> impl ArrayStream + 'static
ArrayStream
over the array.Source§impl<A> ArrayVariants for Awhere
A: ArrayImpl,
impl<A> ArrayVariants for Awhere
A: ArrayImpl,
Source§fn as_null_typed(&self) -> Option<&dyn NullArrayTrait>
fn as_null_typed(&self) -> Option<&dyn NullArrayTrait>
Downcasts the array for null-specific behavior.
Source§fn as_bool_typed(&self) -> Option<&dyn BoolArrayTrait>
fn as_bool_typed(&self) -> Option<&dyn BoolArrayTrait>
Downcasts the array for bool-specific behavior.
Source§fn as_primitive_typed(&self) -> Option<&dyn PrimitiveArrayTrait>
fn as_primitive_typed(&self) -> Option<&dyn PrimitiveArrayTrait>
Downcasts the array for primitive-specific behavior.
Source§fn as_utf8_typed(&self) -> Option<&dyn Utf8ArrayTrait>
fn as_utf8_typed(&self) -> Option<&dyn Utf8ArrayTrait>
Downcasts the array for utf8-specific behavior.
Source§fn as_binary_typed(&self) -> Option<&dyn BinaryArrayTrait>
fn as_binary_typed(&self) -> Option<&dyn BinaryArrayTrait>
Downcasts the array for binary-specific behavior.
Source§fn as_struct_typed(&self) -> Option<&dyn StructArrayTrait>
fn as_struct_typed(&self) -> Option<&dyn StructArrayTrait>
Downcasts the array for struct-specific behavior.
Source§fn as_list_typed(&self) -> Option<&dyn ListArrayTrait>
fn as_list_typed(&self) -> Option<&dyn ListArrayTrait>
Downcasts the array for list-specific behavior.
Source§fn as_extension_typed(&self) -> Option<&dyn ExtensionArrayTrait>
fn as_extension_typed(&self) -> Option<&dyn ExtensionArrayTrait>
Downcasts the array for extension-specific behavior.
Source§impl<A> ArrayVisitor for Awhere
A: ArrayImpl,
impl<A> ArrayVisitor for Awhere
A: ArrayImpl,
Source§impl<A> ArrayVisitorExt for A
impl<A> ArrayVisitorExt for A
Source§fn nbuffers_recursive(&self) -> usize
fn nbuffers_recursive(&self) -> usize
Source§fn depth_first_traversal(&self) -> impl Iterator<Item = ArrayRef>
fn depth_first_traversal(&self) -> impl Iterator<Item = ArrayRef>
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<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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out
indicating that a T
is niched.