pub struct VarBinArray(/* private fields */);
Implementations§
Source§impl VarBinArray
impl VarBinArray
Source§impl VarBinArray
impl VarBinArray
pub fn try_new( offsets: Array, bytes: ByteBuffer, dtype: DType, validity: Validity, ) -> VortexResult<Self>
pub fn offsets(&self) -> Array
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, Array, Validity)
pub fn into_parts(self) -> (DType, ByteBuffer, Array, Validity)
Consumes self, returning a tuple containing the DType
, the bytes
array,
the offsets
array, and the validity
.
Methods from Deref<Target = Array>§
Sourcepub fn encoding(&self) -> EncodingId
pub fn encoding(&self) -> EncodingId
Return the array’s encoding ID.
Sourcepub fn is_canonical(&self) -> bool
pub fn is_canonical(&self) -> bool
Whether the array is of a canonical encoding.
Sourcepub fn is_arrow(&self) -> bool
pub fn is_arrow(&self) -> bool
Whether the array is fully zero-copy to Arrow (including children). This means any nested types, like Structs, Lists, and Extensions are not present.
Sourcepub fn is_constant(&self) -> bool
pub fn is_constant(&self) -> bool
Return whether the array is constant.
Sourcepub fn as_constant(&self) -> Option<Scalar>
pub fn as_constant(&self) -> Option<Scalar>
Return scalar value of this array if the array is constant
pub fn child<'a>( &'a self, idx: usize, dtype: &'a DType, len: usize, ) -> VortexResult<Self>
Sourcepub fn children(&self) -> Vec<Array>
pub fn children(&self) -> Vec<Array>
Returns a Vec of Arrays with all the array’s child arrays.
Sourcepub fn named_children(&self) -> Vec<(String, Array)>
pub fn named_children(&self) -> Vec<(String, Array)>
Returns a Vec of Arrays with all the array’s child arrays.
pub fn depth_first_traversal(&self) -> ArrayChildrenIterator ⓘ
Sourcepub fn cumulative_nbuffers(&self) -> usize
pub fn cumulative_nbuffers(&self) -> usize
Count the number of cumulative buffers encoded by self.
Sourcepub fn all_buffer_offsets(&self, alignment: usize) -> Vec<u64>
pub fn all_buffer_offsets(&self, alignment: usize) -> Vec<u64>
Return the buffer offsets and the total length of all buffers, assuming the given alignment. This includes all child buffers.
pub fn metadata_bytes(&self) -> Option<&[u8]>
pub fn nbuffers(&self) -> usize
pub fn byte_buffer(&self, index: usize) -> Option<&ByteBuffer>
pub fn byte_buffers(&self) -> impl Iterator<Item = ByteBuffer> + '_
Sourcepub fn is_encoding(&self, id: EncodingId) -> bool
pub fn is_encoding(&self, id: EncodingId) -> bool
Checks whether array is of a given encoding.
pub fn try_downcast_ref<E: Encoding>(&self) -> VortexResult<(&E::Array, &E)>
Sourcepub fn nbytes(&self) -> usize
pub fn nbytes(&self) -> usize
Total size of the array in bytes, including all children and buffers.
pub fn statistics(&self) -> &(dyn Statistics + '_)
pub fn inherit_statistics(&self, parent: &dyn Statistics)
pub fn tree_display(&self) -> TreeDisplayWrapper<'_>
Sourcepub fn is_valid(&self, index: usize) -> VortexResult<bool>
pub fn is_valid(&self, index: usize) -> VortexResult<bool>
Return whether the element at the given index is valid (true) or null (false).
Sourcepub fn all_valid(&self) -> VortexResult<bool>
pub fn all_valid(&self) -> VortexResult<bool>
Return whether all elements in the array are valid.
Sourcepub fn null_count(&self) -> VortexResult<usize>
pub fn null_count(&self) -> VortexResult<usize>
Return the number of null elements in the array.
Sourcepub fn validity_mask(&self) -> VortexResult<Mask>
pub fn validity_mask(&self) -> VortexResult<Mask>
Return the canonical validity of the array as a Mask
.
pub fn as_null_array(&self) -> Option<&dyn NullArrayTrait>
pub fn as_bool_array(&self) -> Option<&dyn BoolArrayTrait>
pub fn as_primitive_array(&self) -> Option<&dyn PrimitiveArrayTrait>
pub fn as_utf8_array(&self) -> Option<&dyn Utf8ArrayTrait>
pub fn as_binary_array(&self) -> Option<&dyn BinaryArrayTrait>
pub fn as_struct_array(&self) -> Option<&dyn StructArrayTrait>
pub fn as_list_array(&self) -> Option<&dyn ListArrayTrait>
pub fn as_extension_array(&self) -> Option<&dyn ExtensionArrayTrait>
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 AsRef<Array> for VarBinArray
impl AsRef<Array> for VarBinArray
Source§impl CanonicalVTable<VarBinArray> for VarBinEncoding
impl CanonicalVTable<VarBinArray> for VarBinEncoding
fn into_canonical(&self, array: VarBinArray) -> VortexResult<Canonical>
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: &Array,
operator: Operator,
) -> VortexResult<Option<Array>>
fn compare( &self, lhs: &VarBinArray, rhs: &Array, operator: Operator, ) -> VortexResult<Option<Array>>
Source§impl Debug for VarBinArray
impl Debug for VarBinArray
Source§impl Deref for VarBinArray
impl Deref for VarBinArray
Source§impl FilterFn<VarBinArray> for VarBinEncoding
impl FilterFn<VarBinArray> for VarBinEncoding
Source§fn filter(&self, array: &VarBinArray, mask: &Mask) -> VortexResult<Array>
fn filter(&self, array: &VarBinArray, mask: &Mask) -> VortexResult<Array>
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 IntoArray for VarBinArray
impl IntoArray for VarBinArray
fn into_array(self) -> Array
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<Array>
fn slice( &self, array: &VarBinArray, start: usize, stop: usize, ) -> VortexResult<Array>
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 StatisticsVTable<VarBinArray> for VarBinEncoding
impl StatisticsVTable<VarBinArray> for VarBinEncoding
Source§fn compute_statistics(
&self,
array: &VarBinArray,
stat: Stat,
) -> VortexResult<StatsSet>
fn compute_statistics( &self, array: &VarBinArray, stat: Stat, ) -> VortexResult<StatsSet>
Source§impl TakeFn<VarBinArray> for VarBinEncoding
impl TakeFn<VarBinArray> for VarBinEncoding
Source§fn take(&self, array: &VarBinArray, indices: &Array) -> VortexResult<Array>
fn take(&self, array: &VarBinArray, indices: &Array) -> VortexResult<Array>
Source§unsafe fn take_unchecked(
&self,
array: &A,
indices: &Array,
) -> VortexResult<Array>
unsafe fn take_unchecked( &self, array: &A, indices: &Array, ) -> VortexResult<Array>
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<'a> TryFrom<&'a Array> for &'a VarBinArray
impl<'a> TryFrom<&'a Array> for &'a VarBinArray
Source§type Error = VortexError
type Error = VortexError
Source§fn try_from(data: &'a Array) -> VortexResult<Self>
fn try_from(data: &'a Array) -> VortexResult<Self>
Source§impl TryFrom<Array> for VarBinArray
impl TryFrom<Array> for VarBinArray
Source§type Error = VortexError
type Error = VortexError
Source§fn try_from(data: Array) -> VortexResult<Self>
fn try_from(data: Array) -> VortexResult<Self>
Source§impl ValidateVTable<VarBinArray> for VarBinEncoding
impl ValidateVTable<VarBinArray> for VarBinEncoding
Source§impl ValidityVTable<VarBinArray> for VarBinEncoding
impl ValidityVTable<VarBinArray> for VarBinEncoding
Source§fn is_valid(&self, array: &VarBinArray, index: usize) -> VortexResult<bool>
fn is_valid(&self, array: &VarBinArray, index: usize) -> VortexResult<bool>
index
item is valid.Source§fn all_valid(&self, array: &VarBinArray) -> VortexResult<bool>
fn all_valid(&self, array: &VarBinArray) -> VortexResult<bool>
fn validity_mask(&self, array: &VarBinArray) -> VortexResult<Mask>
Source§fn invalid_count(&self, array: &Array) -> VortexResult<usize>
fn invalid_count(&self, array: &Array) -> VortexResult<usize>
Source§impl VariantsVTable<VarBinArray> for VarBinEncoding
impl VariantsVTable<VarBinArray> for VarBinEncoding
fn as_utf8_array<'a>( &self, array: &'a VarBinArray, ) -> Option<&'a dyn Utf8ArrayTrait>
fn as_binary_array<'a>( &self, array: &'a VarBinArray, ) -> Option<&'a dyn BinaryArrayTrait>
fn as_null_array<'a>(&self, _array: &'a Array) -> Option<&'a dyn NullArrayTrait>
fn as_bool_array<'a>(&self, _array: &'a Array) -> Option<&'a dyn BoolArrayTrait>
fn as_primitive_array<'a>( &self, _array: &'a Array, ) -> Option<&'a dyn PrimitiveArrayTrait>
fn as_struct_array<'a>( &self, _array: &'a Array, ) -> Option<&'a dyn StructArrayTrait>
fn as_list_array<'a>(&self, _array: &'a Array) -> Option<&'a dyn ListArrayTrait>
fn as_extension_array<'a>( &self, _array: &'a Array, ) -> Option<&'a dyn ExtensionArrayTrait>
Source§impl VisitorVTable<VarBinArray> for VarBinEncoding
impl VisitorVTable<VarBinArray> for VarBinEncoding
fn accept( &self, array: &VarBinArray, visitor: &mut dyn ArrayVisitor, ) -> VortexResult<()>
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<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> IntoArrayVariant for Twhere
T: IntoCanonical,
impl<T> IntoArrayVariant for Twhere
T: IntoCanonical,
fn into_null(self) -> Result<NullArray, VortexError>
fn into_bool(self) -> Result<BoolArray, VortexError>
fn into_primitive(self) -> Result<PrimitiveArray, VortexError>
fn into_struct(self) -> Result<StructArray, VortexError>
fn into_list(self) -> Result<ListArray, VortexError>
fn into_varbinview(self) -> Result<VarBinViewArray, VortexError>
fn into_extension(self) -> Result<ExtensionArray, VortexError>
Source§impl<A> IntoCanonical for Awhere
A: IntoArray,
impl<A> IntoCanonical for Awhere
A: IntoArray,
Source§fn into_canonical(self) -> Result<Canonical, VortexError>
fn into_canonical(self) -> Result<Canonical, VortexError>
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.