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
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
.
Methods from Deref<Target = dyn Array>§
Sourcepub fn display_values(&self) -> DisplayArrayAs<'_>
pub fn display_values(&self) -> DisplayArrayAs<'_>
Display logical values of the array
For example, an i16
typed array containing the first five non-negative integers is displayed
as: [0i16, 1i16, 2i16, 3i16, 4i16]
.
§Examples
let array = buffer![0_i16, 1, 2, 3, 4].into_array();
assert_eq!(
format!("{}", array.display_values()),
"[0i16, 1i16, 2i16, 3i16, 4i16]",
)
See also: Array::display_as, DisplayArrayAs, and DisplayOptions.
Sourcepub fn display_as(&self, options: DisplayOptions) -> DisplayArrayAs<'_>
pub fn display_as(&self, options: DisplayOptions) -> DisplayArrayAs<'_>
Display the array as specified by the options.
See DisplayOptions for examples.
Sourcepub fn display_tree(&self) -> impl Display
pub fn display_tree(&self) -> impl Display
Display the tree of encodings of this array as an indented lists.
While some metadata (such as length, bytes and validity-rate) are included, the logical values of the array are not displayed. To view the logical values see Array::display_as and DisplayOptions.
§Examples
let array = buffer![0_i16, 1, 2, 3, 4].into_array();
let expected = "root: vortex.primitive(i16, len=5) nbytes=10 B (100.00%)
metadata: EmptyMetadata
buffer (align=2): 10 B (100.00%)
";
assert_eq!(format!("{}", array.display_tree()), expected);
pub fn is_constant(&self) -> bool
pub fn is_constant_opts(&self, cost: Cost) -> bool
pub fn as_constant(&self) -> Option<Scalar>
Sourcepub fn as_opt<V: VTable>(&self) -> Option<&V::Array>
pub fn as_opt<V: VTable>(&self) -> Option<&V::Array>
Returns the array downcast to the given A
.
Sourcepub fn nbytes(&self) -> u64
pub fn nbytes(&self) -> u64
Total size of the array in bytes, including all children and buffers.
Sourcepub fn to_array_iterator(&self) -> impl ArrayIterator + 'static
pub fn to_array_iterator(&self) -> impl ArrayIterator + 'static
Create an ArrayIterator
over the array.
Sourcepub fn serialize(
&self,
ctx: &ArrayContext,
options: &SerializeOptions,
) -> VortexResult<Vec<ByteBuffer>>
pub fn serialize( &self, ctx: &ArrayContext, options: &SerializeOptions, ) -> VortexResult<Vec<ByteBuffer>>
Serialize the array into a sequence of byte buffers that should be written contiguously. This function returns a vec to avoid copying data buffers.
Optionally, padding can be included to guarantee buffer alignment and ensure zero-copy reads within the context of an external file or stream. In this case, the alignment of the first byte buffer should be respected when writing the buffers to the stream or file.
The format of this blob is a sequence of data buffers, possible with prefixed padding,
followed by a flatbuffer containing an fba::Array
message, and ending with a
little-endian u32 describing the length of the flatbuffer message.
Sourcepub fn to_array_stream(&self) -> impl ArrayStream + 'static
pub fn to_array_stream(&self) -> impl ArrayStream + 'static
Create an ArrayStream
over the array.
Sourcepub fn as_null_typed(&self) -> NullTyped<'_>
pub fn as_null_typed(&self) -> NullTyped<'_>
Downcasts the array for null-specific behavior.
Sourcepub fn as_bool_typed(&self) -> BoolTyped<'_>
pub fn as_bool_typed(&self) -> BoolTyped<'_>
Downcasts the array for bool-specific behavior.
Sourcepub fn as_primitive_typed(&self) -> PrimitiveTyped<'_>
pub fn as_primitive_typed(&self) -> PrimitiveTyped<'_>
Downcasts the array for primitive-specific behavior.
Sourcepub fn as_decimal_typed(&self) -> DecimalTyped<'_>
pub fn as_decimal_typed(&self) -> DecimalTyped<'_>
Downcasts the array for decimal-specific behavior.
Sourcepub fn as_utf8_typed(&self) -> Utf8Typed<'_>
pub fn as_utf8_typed(&self) -> Utf8Typed<'_>
Downcasts the array for utf8-specific behavior.
Sourcepub fn as_binary_typed(&self) -> BinaryTyped<'_>
pub fn as_binary_typed(&self) -> BinaryTyped<'_>
Downcasts the array for binary-specific behavior.
Sourcepub fn as_struct_typed(&self) -> StructTyped<'_>
pub fn as_struct_typed(&self) -> StructTyped<'_>
Downcasts the array for struct-specific behavior.
Sourcepub fn as_list_typed(&self) -> ListTyped<'_>
pub fn as_list_typed(&self) -> ListTyped<'_>
Downcasts the array for list-specific behavior.
Sourcepub fn as_extension_typed(&self) -> ExtensionTyped<'_>
pub fn as_extension_typed(&self) -> ExtensionTyped<'_>
Downcasts the array for extension-specific behavior.
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<dyn Array> for VarBinArray
impl AsRef<dyn Array> for VarBinArray
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 Debug for VarBinArray
impl Debug for VarBinArray
Source§impl Deref for VarBinArray
impl Deref 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 IntoArray for VarBinArray
impl IntoArray for VarBinArray
fn into_array(self) -> ArrayRef
Source§impl ValidityHelper for VarBinArray
impl ValidityHelper 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> 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 more