pub struct Array<V: VTable> { /* private fields */ }Expand description
A typed owned handle to an array.
Array<V> holds an ArrayRef (shared, heap-allocated) and provides typed access
to the encoding-specific data via Deref to V::ArrayData.
This is the primary type for working with typed arrays. Convert to ArrayRef
via into_array() or AsRef<ArrayRef>.
Implementations§
Source§impl<V: VTable> Array<V>
impl<V: VTable> Array<V>
Sourcepub fn try_from_parts(new: ArrayParts<V>) -> VortexResult<Self>
pub fn try_from_parts(new: ArrayParts<V>) -> VortexResult<Self>
Create a typed array from explicit construction parameters.
Sourcepub fn try_from_array_ref(array: ArrayRef) -> Result<Self, ArrayRef>
pub fn try_from_array_ref(array: ArrayRef) -> Result<Self, ArrayRef>
Try to create from an ArrayRef, returning Err if the type doesn’t match.
Sourcepub fn encoding_id(&self) -> ArrayId
pub fn encoding_id(&self) -> ArrayId
Returns the encoding ID.
Sourcepub fn statistics(&self) -> StatsSetRef<'_>
pub fn statistics(&self) -> StatsSetRef<'_>
Returns the statistics.
Sourcepub fn try_into_parts(self) -> Result<ArrayParts<V>, Self>
pub fn try_into_parts(self) -> Result<ArrayParts<V>, Self>
Returns the full typed array construction parts if this handle owns the allocation.
pub fn with_stats_set(self, stats: StatsSet) -> Self
Source§impl<V: VTable> Array<V>
Public API methods that shadow DynArray / ArrayRef methods.
impl<V: VTable> Array<V>
Public API methods that shadow DynArray / ArrayRef methods.
pub fn slice(&self, range: Range<usize>) -> VortexResult<ArrayRef>
pub fn scalar_at(&self, index: usize) -> VortexResult<Scalar>
pub fn filter(&self, mask: Mask) -> VortexResult<ArrayRef>
pub fn take(&self, indices: ArrayRef) -> VortexResult<ArrayRef>
pub fn validity(&self) -> VortexResult<Validity>
pub fn is_valid(&self, index: usize) -> VortexResult<bool>
pub fn is_invalid(&self, index: usize) -> VortexResult<bool>
pub fn all_valid(&self) -> VortexResult<bool>
pub fn all_invalid(&self) -> VortexResult<bool>
pub fn to_canonical(&self) -> VortexResult<Canonical>
pub fn nbytes(&self) -> u64
pub fn nbuffers(&self) -> usize
pub fn as_constant(&self) -> Option<Scalar>
pub fn valid_count(&self) -> VortexResult<usize>
pub fn invalid_count(&self) -> VortexResult<usize>
pub fn append_to_builder( &self, builder: &mut dyn ArrayBuilder, ctx: &mut ExecutionCtx, ) -> VortexResult<()>
pub fn validity_mask(&self) -> VortexResult<Mask>
Source§impl Array<Bool>
Constructors and consuming methods for BoolArray (Array<Bool>).
impl Array<Bool>
Constructors and consuming methods for BoolArray (Array<Bool>).
Sourcepub fn new(bits: BitBuffer, validity: Validity) -> Self
pub fn new(bits: BitBuffer, validity: Validity) -> Self
Constructs a new BoolArray.
§Panics
Panics if the validity length is not equal to the bit buffer length.
Sourcepub fn new_handle(
handle: BufferHandle,
offset: usize,
len: usize,
validity: Validity,
) -> Self
pub fn new_handle( handle: BufferHandle, offset: usize, len: usize, validity: Validity, ) -> Self
Constructs a new BoolArray from a BufferHandle.
§Panics
Panics if the validity length is not equal to the bit buffer length.
Sourcepub fn try_new(bits: BitBuffer, validity: Validity) -> VortexResult<Self>
pub fn try_new(bits: BitBuffer, validity: Validity) -> VortexResult<Self>
Constructs a new BoolArray.
§Errors
Returns an error if the provided components do not satisfy the invariants.
Sourcepub fn try_new_from_handle(
bits: BufferHandle,
offset: usize,
len: usize,
validity: Validity,
) -> VortexResult<Self>
pub fn try_new_from_handle( bits: BufferHandle, offset: usize, len: usize, validity: Validity, ) -> VortexResult<Self>
Build a new bool array from a BufferHandle, returning an error if the offset is
too large or the buffer is not large enough to hold the values.
Sourcepub unsafe fn new_unchecked(bits: BitBuffer, validity: Validity) -> Self
pub unsafe fn new_unchecked(bits: BitBuffer, validity: Validity) -> Self
Sourcepub fn validate(bits: &BitBuffer, validity: &Validity) -> VortexResult<()>
pub fn validate(bits: &BitBuffer, validity: &Validity) -> VortexResult<()>
Validates the components that would be used to create a BoolArray.
Sourcepub fn from_indices<I: IntoIterator<Item = usize>>(
length: usize,
indices: I,
validity: Validity,
) -> Self
pub fn from_indices<I: IntoIterator<Item = usize>>( length: usize, indices: I, validity: Validity, ) -> Self
Create a new BoolArray from a set of indices and a length.
All indices must be less than the length.
Sourcepub fn into_bit_buffer(self) -> BitBuffer
pub fn into_bit_buffer(self) -> BitBuffer
Returns the underlying BitBuffer of the array, consuming self.
Source§impl Array<Bool>
impl Array<Bool>
pub fn patch( self, patches: &Patches, ctx: &mut ExecutionCtx, ) -> VortexResult<Self>
Source§impl Array<Chunked>
impl Array<Chunked>
Source§impl Array<Decimal>
impl Array<Decimal>
pub fn into_data_parts(self) -> DecimalDataParts
Source§impl Array<Decimal>
impl Array<Decimal>
Sourcepub fn new<T: NativeDecimalType>(
buffer: Buffer<T>,
decimal_dtype: DecimalDType,
validity: Validity,
) -> Self
pub fn new<T: NativeDecimalType>( buffer: Buffer<T>, decimal_dtype: DecimalDType, validity: Validity, ) -> Self
Creates a new DecimalArray using a host-native buffer.
Sourcepub unsafe fn new_unchecked<T: NativeDecimalType>(
buffer: Buffer<T>,
decimal_dtype: DecimalDType,
validity: Validity,
) -> Self
pub unsafe fn new_unchecked<T: NativeDecimalType>( buffer: Buffer<T>, decimal_dtype: DecimalDType, validity: Validity, ) -> Self
Sourcepub fn try_new<T: NativeDecimalType>(
buffer: Buffer<T>,
decimal_dtype: DecimalDType,
validity: Validity,
) -> VortexResult<Self>
pub fn try_new<T: NativeDecimalType>( buffer: Buffer<T>, decimal_dtype: DecimalDType, validity: Validity, ) -> VortexResult<Self>
Creates a new DecimalArray from a host-native buffer with validation.
Sourcepub fn from_iter<T: NativeDecimalType, I: IntoIterator<Item = T>>(
iter: I,
decimal_dtype: DecimalDType,
) -> Self
pub fn from_iter<T: NativeDecimalType, I: IntoIterator<Item = T>>( iter: I, decimal_dtype: DecimalDType, ) -> Self
Creates a new DecimalArray from an iterator of values.
Sourcepub fn from_option_iter<T: NativeDecimalType, I: IntoIterator<Item = Option<T>>>(
iter: I,
decimal_dtype: DecimalDType,
) -> Self
pub fn from_option_iter<T: NativeDecimalType, I: IntoIterator<Item = Option<T>>>( iter: I, decimal_dtype: DecimalDType, ) -> Self
Creates a new DecimalArray from an iterator of optional values.
Sourcepub fn new_handle(
values: BufferHandle,
values_type: DecimalType,
decimal_dtype: DecimalDType,
validity: Validity,
) -> Self
pub fn new_handle( values: BufferHandle, values_type: DecimalType, decimal_dtype: DecimalDType, validity: Validity, ) -> Self
Creates a new DecimalArray from a BufferHandle.
Sourcepub fn try_new_handle(
values: BufferHandle,
values_type: DecimalType,
decimal_dtype: DecimalDType,
validity: Validity,
) -> VortexResult<Self>
pub fn try_new_handle( values: BufferHandle, values_type: DecimalType, decimal_dtype: DecimalDType, validity: Validity, ) -> VortexResult<Self>
Creates a new DecimalArray from a BufferHandle with validation.
Sourcepub unsafe fn new_unchecked_handle(
values: BufferHandle,
values_type: DecimalType,
decimal_dtype: DecimalDType,
validity: Validity,
) -> Self
pub unsafe fn new_unchecked_handle( values: BufferHandle, values_type: DecimalType, decimal_dtype: DecimalDType, validity: Validity, ) -> Self
Creates a new DecimalArray without validation from a BufferHandle.
§Safety
pub fn patch( self, patches: &Patches, ctx: &mut ExecutionCtx, ) -> VortexResult<Self>
Source§impl Array<Dict>
impl Array<Dict>
Sourcepub fn new(codes: ArrayRef, values: ArrayRef) -> Self
pub fn new(codes: ArrayRef, values: ArrayRef) -> Self
Build a new DictArray from its components, codes and values.
Sourcepub fn try_new(codes: ArrayRef, values: ArrayRef) -> VortexResult<Self>
pub fn try_new(codes: ArrayRef, values: ArrayRef) -> VortexResult<Self>
Build a new DictArray from its components, codes and values.
Sourcepub unsafe fn new_unchecked(codes: ArrayRef, values: ArrayRef) -> Self
pub unsafe fn new_unchecked(codes: ArrayRef, values: ArrayRef) -> Self
Sourcepub unsafe fn set_all_values_referenced(
self,
all_values_referenced: bool,
) -> Self
pub unsafe fn set_all_values_referenced( self, all_values_referenced: bool, ) -> Self
Set whether all values in the dictionary are referenced by at least one code.
§Safety
Source§impl Array<Extension>
impl Array<Extension>
Sourcepub fn new(ext_dtype: ExtDTypeRef, storage_array: ArrayRef) -> Self
pub fn new(ext_dtype: ExtDTypeRef, storage_array: ArrayRef) -> Self
Constructs a new ExtensionArray.
§Panics
Panics if the storage array is not compatible with the extension dtype.
Sourcepub fn try_new(
ext_dtype: ExtDTypeRef,
storage_array: ArrayRef,
) -> VortexResult<Self>
pub fn try_new( ext_dtype: ExtDTypeRef, storage_array: ArrayRef, ) -> VortexResult<Self>
Tries to construct a new ExtensionArray.
Source§impl Array<FixedSizeList>
impl Array<FixedSizeList>
Sourcepub fn new(
elements: ArrayRef,
list_size: u32,
validity: Validity,
len: usize,
) -> Self
pub fn new( elements: ArrayRef, list_size: u32, validity: Validity, len: usize, ) -> Self
Creates a new FixedSizeListArray.
Sourcepub fn try_new(
elements: ArrayRef,
list_size: u32,
validity: Validity,
len: usize,
) -> VortexResult<Self>
pub fn try_new( elements: ArrayRef, list_size: u32, validity: Validity, len: usize, ) -> VortexResult<Self>
Constructs a new FixedSizeListArray.
Sourcepub unsafe fn new_unchecked(
elements: ArrayRef,
list_size: u32,
validity: Validity,
len: usize,
) -> Self
pub unsafe fn new_unchecked( elements: ArrayRef, list_size: u32, validity: Validity, len: usize, ) -> Self
pub fn into_data_parts(self) -> FixedSizeListDataParts
Source§impl Array<List>
impl Array<List>
Sourcepub fn new(elements: ArrayRef, offsets: ArrayRef, validity: Validity) -> Self
pub fn new(elements: ArrayRef, offsets: ArrayRef, validity: Validity) -> Self
Creates a new ListArray.
Sourcepub fn try_new(
elements: ArrayRef,
offsets: ArrayRef,
validity: Validity,
) -> VortexResult<Self>
pub fn try_new( elements: ArrayRef, offsets: ArrayRef, validity: Validity, ) -> VortexResult<Self>
Constructs a new ListArray.
Sourcepub unsafe fn new_unchecked(
elements: ArrayRef,
offsets: ArrayRef,
validity: Validity,
) -> Self
pub unsafe fn new_unchecked( elements: ArrayRef, offsets: ArrayRef, validity: Validity, ) -> Self
pub fn into_data_parts(self) -> ListDataParts
Source§impl Array<List>
impl Array<List>
Sourcepub fn from_iter_slow<O: IntegerPType, I: IntoIterator>(
iter: I,
dtype: Arc<DType>,
) -> VortexResult<ArrayRef>
pub fn from_iter_slow<O: IntegerPType, I: IntoIterator>( iter: I, dtype: Arc<DType>, ) -> VortexResult<ArrayRef>
This is a convenience method to create a list array from an iterator of iterators. This method is slow however since each element is first converted to a scalar and then appended to the array.
pub fn from_iter_opt_slow<O: IntegerPType, I: IntoIterator<Item = Option<T>>, T>( iter: I, dtype: Arc<DType>, ) -> VortexResult<ArrayRef>
Source§impl Array<ListView>
impl Array<ListView>
Sourcepub fn new(
elements: ArrayRef,
offsets: ArrayRef,
sizes: ArrayRef,
validity: Validity,
) -> Self
pub fn new( elements: ArrayRef, offsets: ArrayRef, sizes: ArrayRef, validity: Validity, ) -> Self
Creates a new ListViewArray.
Sourcepub fn try_new(
elements: ArrayRef,
offsets: ArrayRef,
sizes: ArrayRef,
validity: Validity,
) -> VortexResult<Self>
pub fn try_new( elements: ArrayRef, offsets: ArrayRef, sizes: ArrayRef, validity: Validity, ) -> VortexResult<Self>
Constructs a new ListViewArray.
Sourcepub unsafe fn new_unchecked(
elements: ArrayRef,
offsets: ArrayRef,
sizes: ArrayRef,
validity: Validity,
) -> Self
pub unsafe fn new_unchecked( elements: ArrayRef, offsets: ArrayRef, sizes: ArrayRef, validity: Validity, ) -> Self
Sourcepub unsafe fn with_zero_copy_to_list(self, is_zctl: bool) -> Self
pub unsafe fn with_zero_copy_to_list(self, is_zctl: bool) -> Self
Mark whether this list view can be zero-copy converted to a list.
§Safety
pub fn into_data_parts(self) -> ListViewDataParts
Source§impl Array<ListView>
impl Array<ListView>
Sourcepub fn rebuild(&self, mode: ListViewRebuildMode) -> VortexResult<ListViewArray>
pub fn rebuild(&self, mode: ListViewRebuildMode) -> VortexResult<ListViewArray>
Rebuilds the ListViewArray according to the specified mode.
Source§impl Array<Masked>
impl Array<Masked>
Sourcepub fn try_new(child: ArrayRef, validity: Validity) -> VortexResult<Self>
pub fn try_new(child: ArrayRef, validity: Validity) -> VortexResult<Self>
Constructs a new MaskedArray.
Source§impl Array<Primitive>
impl Array<Primitive>
Sourcepub fn from_option_iter<T: NativePType, I: IntoIterator<Item = Option<T>>>(
iter: I,
) -> Self
pub fn from_option_iter<T: NativePType, I: IntoIterator<Item = Option<T>>>( iter: I, ) -> Self
Create a PrimitiveArray from an iterator of T.
NOTE: we cannot impl FromIterator trait since it conflicts with FromIterator<T>.
Sourcepub fn to_buffer<T: NativePType>(&self) -> Buffer<T>
pub fn to_buffer<T: NativePType>(&self) -> Buffer<T>
Get a buffer in host memory holding all the values.
NOTE: some values may be nonsense if the validity buffer indicates that the value is null.
Sourcepub fn into_buffer<T: NativePType>(self) -> Buffer<T>
pub fn into_buffer<T: NativePType>(self) -> Buffer<T>
Consume the array and get a host Buffer containing the data values.
Sourcepub fn into_buffer_mut<T: NativePType>(self) -> BufferMut<T>
pub fn into_buffer_mut<T: NativePType>(self) -> BufferMut<T>
Extract a mutable buffer from the PrimitiveArray. Attempts to do this with zero-copy if the buffer is uniquely owned, otherwise will make a copy.
Sourcepub fn try_into_buffer_mut<T: NativePType>(
self,
) -> Result<BufferMut<T>, Buffer<T>>
pub fn try_into_buffer_mut<T: NativePType>( self, ) -> Result<BufferMut<T>, Buffer<T>>
Try to extract a mutable buffer from the PrimitiveArray with zero copy.
Source§impl Array<Primitive>
impl Array<Primitive>
pub fn patch( self, patches: &Patches, ctx: &mut ExecutionCtx, ) -> VortexResult<Self>
Source§impl Array<Primitive>
impl Array<Primitive>
pub fn empty<T: NativePType>(nullability: Nullability) -> Self
Sourcepub fn new<T: NativePType>(
buffer: impl Into<Buffer<T>>,
validity: Validity,
) -> Self
pub fn new<T: NativePType>( buffer: impl Into<Buffer<T>>, validity: Validity, ) -> Self
Creates a new PrimitiveArray.
§Panics
Panics if the provided components do not satisfy the invariants.
Sourcepub fn try_new<T: NativePType>(
buffer: Buffer<T>,
validity: Validity,
) -> VortexResult<Self>
pub fn try_new<T: NativePType>( buffer: Buffer<T>, validity: Validity, ) -> VortexResult<Self>
Constructs a new PrimitiveArray.
Sourcepub unsafe fn new_unchecked<T: NativePType>(
buffer: Buffer<T>,
validity: Validity,
) -> Self
pub unsafe fn new_unchecked<T: NativePType>( buffer: Buffer<T>, validity: Validity, ) -> Self
Sourcepub unsafe fn new_unchecked_from_handle(
handle: BufferHandle,
ptype: PType,
validity: Validity,
) -> Self
pub unsafe fn new_unchecked_from_handle( handle: BufferHandle, ptype: PType, validity: Validity, ) -> Self
Sourcepub fn from_buffer_handle(
handle: BufferHandle,
ptype: PType,
validity: Validity,
) -> Self
pub fn from_buffer_handle( handle: BufferHandle, ptype: PType, validity: Validity, ) -> Self
Creates a new PrimitiveArray from a BufferHandle.
Sourcepub fn from_byte_buffer(
buffer: ByteBuffer,
ptype: PType,
validity: Validity,
) -> Self
pub fn from_byte_buffer( buffer: ByteBuffer, ptype: PType, validity: Validity, ) -> Self
Creates a new PrimitiveArray from a ByteBuffer.
Sourcepub fn from_values_byte_buffer(
valid_elems_buffer: ByteBuffer,
ptype: PType,
validity: Validity,
n_rows: usize,
) -> Self
pub fn from_values_byte_buffer( valid_elems_buffer: ByteBuffer, ptype: PType, validity: Validity, n_rows: usize, ) -> Self
Create a PrimitiveArray from a byte buffer containing only the valid elements.
Sourcepub fn validate<T: NativePType>(
buffer: &Buffer<T>,
validity: &Validity,
) -> VortexResult<()>
pub fn validate<T: NativePType>( buffer: &Buffer<T>, validity: &Validity, ) -> VortexResult<()>
Validates the components that would be used to create a PrimitiveArray.
pub fn into_data_parts(self) -> PrimitiveDataParts
pub fn map_each_with_validity<T, R, F>(self, f: F) -> VortexResult<Self>
Source§impl Array<ScalarFnVTable>
impl Array<ScalarFnVTable>
Sourcepub fn try_new(
scalar_fn: ScalarFnRef,
children: Vec<ArrayRef>,
len: usize,
) -> VortexResult<Self>
pub fn try_new( scalar_fn: ScalarFnRef, children: Vec<ArrayRef>, len: usize, ) -> VortexResult<Self>
Create a new ScalarFnArray from a scalar function and its children.
Source§impl Array<Struct>
impl Array<Struct>
Sourcepub fn new(
names: FieldNames,
fields: impl Into<Arc<[ArrayRef]>>,
length: usize,
validity: Validity,
) -> Self
pub fn new( names: FieldNames, fields: impl Into<Arc<[ArrayRef]>>, length: usize, validity: Validity, ) -> Self
Creates a new StructArray.
Sourcepub fn try_new(
names: FieldNames,
fields: impl Into<Arc<[ArrayRef]>>,
length: usize,
validity: Validity,
) -> VortexResult<Self>
pub fn try_new( names: FieldNames, fields: impl Into<Arc<[ArrayRef]>>, length: usize, validity: Validity, ) -> VortexResult<Self>
Constructs a new StructArray.
Sourcepub unsafe fn new_unchecked(
fields: impl Into<Arc<[ArrayRef]>>,
dtype: StructFields,
length: usize,
validity: Validity,
) -> Self
pub unsafe fn new_unchecked( fields: impl Into<Arc<[ArrayRef]>>, dtype: StructFields, length: usize, validity: Validity, ) -> Self
Creates a new StructArray without validation.
§Safety
Caller must ensure the field arrays match the supplied dtype, length, and validity.
Sourcepub fn try_new_with_dtype(
fields: impl Into<Arc<[ArrayRef]>>,
dtype: StructFields,
length: usize,
validity: Validity,
) -> VortexResult<Self>
pub fn try_new_with_dtype( fields: impl Into<Arc<[ArrayRef]>>, dtype: StructFields, length: usize, validity: Validity, ) -> VortexResult<Self>
Constructs a new StructArray with an explicit dtype.
Sourcepub fn from_fields<N: AsRef<str>>(items: &[(N, ArrayRef)]) -> VortexResult<Self>
pub fn from_fields<N: AsRef<str>>(items: &[(N, ArrayRef)]) -> VortexResult<Self>
Construct a StructArray from named fields.
Sourcepub fn try_from_iter_with_validity<N: AsRef<str>, A: IntoArray, T: IntoIterator<Item = (N, A)>>(
iter: T,
validity: Validity,
) -> VortexResult<Self>
pub fn try_from_iter_with_validity<N: AsRef<str>, A: IntoArray, T: IntoIterator<Item = (N, A)>>( iter: T, validity: Validity, ) -> VortexResult<Self>
Create a StructArray from an iterator of (name, array) pairs with validity.
Sourcepub fn try_from_iter<N: AsRef<str>, A: IntoArray, T: IntoIterator<Item = (N, A)>>(
iter: T,
) -> VortexResult<Self>
pub fn try_from_iter<N: AsRef<str>, A: IntoArray, T: IntoIterator<Item = (N, A)>>( iter: T, ) -> VortexResult<Self>
Create a StructArray from an iterator of (name, array) pairs.
Sourcepub fn project(&self, projection: &[FieldName]) -> VortexResult<Self>
pub fn project(&self, projection: &[FieldName]) -> VortexResult<Self>
Return a new StructArray with the given projection applied.
Projection does not copy data arrays. Projection is defined by an ordinal array slice which specifies the new ordering of columns in the struct. The projection can be used to perform column re-ordering, deletion, or duplication at a logical level, without any data copying.
Sourcepub fn new_fieldless_with_len(len: usize) -> Self
pub fn new_fieldless_with_len(len: usize) -> Self
Create a fieldless StructArray with the given length.
pub fn into_data_parts(self) -> StructDataParts
pub fn remove_column( &self, name: impl Into<FieldName>, ) -> Option<(Self, ArrayRef)>
Source§impl Array<Struct>
impl Array<Struct>
pub fn with_column( &self, name: impl Into<FieldName>, array: ArrayRef, ) -> VortexResult<Self>
pub fn remove_column_owned( &self, name: impl Into<FieldName>, ) -> Option<(Self, ArrayRef)>
Source§impl Array<VarBin>
Forwarding constructors for VarBinArray (= Array<VarBin>).
impl Array<VarBin>
Forwarding constructors for VarBinArray (= Array<VarBin>).
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 from_nullable_strs(value: Vec<Option<&str>>) -> Self
pub fn from_nullable_strs(value: Vec<Option<&str>>) -> Self
Create from a vector of optional string slices.
Sourcepub fn from_bytes(value: Vec<&[u8]>) -> Self
pub fn from_bytes(value: Vec<&[u8]>) -> Self
Create from a vector of byte slices.
Sourcepub fn from_nullable_bytes(value: Vec<Option<&[u8]>>) -> Self
pub fn from_nullable_bytes(value: Vec<Option<&[u8]>>) -> Self
Create from a vector of optional byte slices.
pub fn into_data_parts(self) -> VarBinDataParts
Source§impl Array<VarBin>
impl Array<VarBin>
Sourcepub fn new(
offsets: ArrayRef,
bytes: ByteBuffer,
dtype: DType,
validity: Validity,
) -> Self
pub fn new( offsets: ArrayRef, bytes: ByteBuffer, dtype: DType, validity: Validity, ) -> Self
Creates a new VarBinArray.
Sourcepub unsafe fn new_unchecked(
offsets: ArrayRef,
bytes: ByteBuffer,
dtype: DType,
validity: Validity,
) -> Self
pub unsafe fn new_unchecked( offsets: ArrayRef, bytes: ByteBuffer, dtype: DType, validity: Validity, ) -> Self
Sourcepub unsafe fn new_unchecked_from_handle(
offsets: ArrayRef,
bytes: BufferHandle,
dtype: DType,
validity: Validity,
) -> Self
pub unsafe fn new_unchecked_from_handle( offsets: ArrayRef, bytes: BufferHandle, dtype: DType, validity: Validity, ) -> Self
Creates a new VarBinArray without validation from a BufferHandle.
§Safety
Sourcepub fn try_new(
offsets: ArrayRef,
bytes: ByteBuffer,
dtype: DType,
validity: Validity,
) -> VortexResult<Self>
pub fn try_new( offsets: ArrayRef, bytes: ByteBuffer, dtype: DType, validity: Validity, ) -> VortexResult<Self>
Constructs a new VarBinArray.
Source§impl Array<VarBinView>
impl Array<VarBinView>
Sourcepub fn from_iter<T: AsRef<[u8]>, I: IntoIterator<Item = Option<T>>>(
iter: I,
dtype: DType,
) -> Self
pub fn from_iter<T: AsRef<[u8]>, I: IntoIterator<Item = Option<T>>>( iter: I, dtype: DType, ) -> Self
Construct a VarBinViewArray from an iterator of optional byte slices.
pub fn from_iter_str<T: AsRef<str>, I: IntoIterator<Item = T>>(iter: I) -> Self
pub fn from_iter_nullable_str<T: AsRef<str>, I: IntoIterator<Item = Option<T>>>( iter: I, ) -> Self
pub fn from_iter_bin<T: AsRef<[u8]>, I: IntoIterator<Item = T>>(iter: I) -> Self
pub fn from_iter_nullable_bin<T: AsRef<[u8]>, I: IntoIterator<Item = Option<T>>>( iter: I, ) -> Self
Sourcepub fn try_new(
views: Buffer<BinaryView>,
buffers: Arc<[ByteBuffer]>,
dtype: DType,
validity: Validity,
) -> VortexResult<Self>
pub fn try_new( views: Buffer<BinaryView>, buffers: Arc<[ByteBuffer]>, dtype: DType, validity: Validity, ) -> VortexResult<Self>
Creates a new VarBinViewArray.
Sourcepub unsafe fn new_unchecked(
views: Buffer<BinaryView>,
buffers: Arc<[ByteBuffer]>,
dtype: DType,
validity: Validity,
) -> Self
pub unsafe fn new_unchecked( views: Buffer<BinaryView>, buffers: Arc<[ByteBuffer]>, dtype: DType, validity: Validity, ) -> Self
Sourcepub fn new_handle(
views: BufferHandle,
buffers: Arc<[BufferHandle]>,
dtype: DType,
validity: Validity,
) -> Self
pub fn new_handle( views: BufferHandle, buffers: Arc<[BufferHandle]>, dtype: DType, validity: Validity, ) -> Self
Creates a new VarBinViewArray with device or host memory.
Sourcepub unsafe fn new_handle_unchecked(
views: BufferHandle,
buffers: Arc<[BufferHandle]>,
dtype: DType,
validity: Validity,
) -> Self
pub unsafe fn new_handle_unchecked( views: BufferHandle, buffers: Arc<[BufferHandle]>, dtype: DType, validity: Validity, ) -> Self
Construct a new array from BufferHandles without validation.
§Safety
pub fn into_data_parts(self) -> VarBinViewDataParts
Source§impl Array<VarBinView>
impl Array<VarBinView>
Sourcepub fn compact_buffers(&self) -> VortexResult<VarBinViewArray>
pub fn compact_buffers(&self) -> VortexResult<VarBinViewArray>
Returns a compacted copy of the input array, where all wasted space has been cleaned up. This operation can be very expensive, in the worst case copying all existing string data into a new allocation.
After slicing/taking operations VarBinViewArrays can continue to hold references to buffers
that are no longer visible. We detect when there is wasted space in any of the buffers, and if
so, will aggressively compact all visible outlined string data into new buffers while keeping
well-utilized buffers unchanged.
Sourcepub fn compact_with_threshold(
&self,
buffer_utilization_threshold: f64,
) -> VortexResult<VarBinViewArray>
pub fn compact_with_threshold( &self, buffer_utilization_threshold: f64, ) -> VortexResult<VarBinViewArray>
Returns a compacted copy of the input array using selective buffer compaction.
This method analyzes each buffer’s utilization and applies one of three strategies:
- KeepFull (zero-copy): Well-utilized buffers are kept unchanged
- Slice (zero-copy): Buffers with contiguous ranges of used data are sliced to that range
- Rewrite: Poorly-utilized buffers have their data copied to new compact buffers
By preserving or slicing well-utilized buffers, compaction becomes zero-copy in many cases.
§Arguments
buffer_utilization_threshold- Threshold in range [0, 1]. Buffers with utilization below this value will be compacted. Use 0.0 for no compaction, 1.0 for aggressive compaction of any buffer with wasted space.
Source§impl Array<Struct>
impl Array<Struct>
pub fn into_record_batch_with_schema( self, schema: impl AsRef<Schema>, ) -> VortexResult<RecordBatch>
Trait Implementations§
Source§impl<'a> FromIterator<Option<&'a [u8]>> for Array<VarBinView>
impl<'a> FromIterator<Option<&'a [u8]>> for Array<VarBinView>
Source§impl<'a> FromIterator<Option<&'a str>> for Array<VarBinView>
impl<'a> FromIterator<Option<&'a str>> for Array<VarBinView>
Source§impl FromIterator<Option<String>> for Array<VarBinView>
impl FromIterator<Option<String>> for Array<VarBinView>
Source§impl FromIterator<Option<Vec<u8>>> for Array<VarBinView>
impl FromIterator<Option<Vec<u8>>> for Array<VarBinView>
Source§impl TryFrom<Array<Extension>> for TemporalData
impl TryFrom<Array<Extension>> for TemporalData
Source§type Error = VortexError
type Error = VortexError
Auto Trait Implementations§
impl<V> Freeze for Array<V>
impl<V> !RefUnwindSafe for Array<V>
impl<V> Send for Array<V>
impl<V> Sync for Array<V>
impl<V> Unpin for Array<V>where
V: Unpin,
impl<V> UnsafeUnpin for Array<V>
impl<V> !UnwindSafe for Array<V>
Blanket Implementations§
Source§impl<T> BoolArrayExt for Twhere
T: TypedArrayRef<Bool>,
impl<T> BoolArrayExt for Twhere
T: TypedArrayRef<Bool>,
fn nullability(&self) -> Nullability
fn validity(&self) -> Validity
fn bool_validity_mask(&self) -> Mask
fn to_bit_buffer(&self) -> BitBuffer
fn maybe_to_mask(&self) -> VortexResult<Option<Mask>>
fn to_mask(&self) -> Mask
fn to_mask_fill_null_false(&self) -> Mask
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> ChunkedArrayExt for Twhere
T: TypedArrayRef<Chunked>,
impl<T> ChunkedArrayExt for Twhere
T: TypedArrayRef<Chunked>,
fn chunk_offsets_array(&self) -> &ArrayRef
fn nchunks(&self) -> usize
fn chunk(&self, idx: usize) -> &ArrayRef
fn iter_chunks<'a>(&'a self) -> Box<dyn Iterator<Item = &'a ArrayRef> + 'a>
fn chunks(&self) -> Vec<ArrayRef>
fn non_empty_chunks<'a>(&'a self) -> Box<dyn Iterator<Item = &'a ArrayRef> + 'a>
fn chunk_offsets(&self) -> &[usize]
fn find_chunk_idx(&self, index: usize) -> VortexResult<(usize, usize)>
fn array_iterator(&self) -> impl ArrayIterator + '_
fn array_stream(&self) -> impl ArrayStream + '_
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DecimalArrayExt for Twhere
T: TypedArrayRef<Decimal>,
impl<T> DecimalArrayExt for Twhere
T: TypedArrayRef<Decimal>,
fn decimal_dtype(&self) -> DecimalDType
fn nullability(&self) -> Nullability
fn validity_child(&self) -> Option<&ArrayRef>
fn validity(&self) -> Validity
fn values_type(&self) -> DecimalType
fn precision(&self) -> u8
fn scale(&self) -> i8
fn buffer_handle(&self) -> &BufferHandle
fn buffer<T: NativeDecimalType>(&self) -> Buffer<T>
Source§impl<T> DictArrayExt for Twhere
T: TypedArrayRef<Dict>,
impl<T> DictArrayExt for Twhere
T: TypedArrayRef<Dict>,
fn has_all_values_referenced(&self) -> bool
fn validate_all_values_referenced(&self) -> VortexResult<()>
fn compute_referenced_values_mask( &self, referenced: bool, ) -> VortexResult<BitBuffer>
Source§impl<T> DictArraySlotsExt for Twhere
T: TypedArrayRef<Dict>,
impl<T> DictArraySlotsExt for Twhere
T: TypedArrayRef<Dict>,
Source§impl<T> ExtensionArrayExt for Twhere
T: TypedArrayRef<Extension>,
impl<T> ExtensionArrayExt for Twhere
T: TypedArrayRef<Extension>,
fn storage_array(&self) -> &ArrayRef
Source§impl<T> FilterArrayExt for Twhere
T: TypedArrayRef<Filter>,
impl<T> FilterArrayExt for Twhere
T: TypedArrayRef<Filter>,
Source§impl<T> FixedSizeListArrayExt for Twhere
T: TypedArrayRef<FixedSizeList>,
impl<T> FixedSizeListArrayExt for Twhere
T: TypedArrayRef<FixedSizeList>,
fn dtype_parts(&self) -> (&DType, u32, Nullability)
fn elements(&self) -> &ArrayRef
fn list_size(&self) -> u32
fn fixed_size_list_validity(&self) -> Validity
fn fixed_size_list_validity_mask(&self) -> Mask
fn fixed_size_list_elements_at(&self, index: usize) -> VortexResult<ArrayRef>
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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> ListArrayExt for Twhere
T: TypedArrayRef<List>,
impl<T> ListArrayExt for Twhere
T: TypedArrayRef<List>,
fn nullability(&self) -> Nullability
fn elements(&self) -> &ArrayRef
fn offsets(&self) -> &ArrayRef
fn list_validity(&self) -> Validity
fn list_validity_mask(&self) -> Mask
fn offset_at(&self, index: usize) -> VortexResult<usize>
fn list_elements_at(&self, index: usize) -> VortexResult<ArrayRef>
fn sliced_elements(&self) -> VortexResult<ArrayRef>
fn element_dtype(&self) -> &DType
fn reset_offsets(&self, recurse: bool) -> VortexResult<Array<List>>
Source§impl<T> ListViewArrayExt for Twhere
T: TypedArrayRef<ListView>,
impl<T> ListViewArrayExt for Twhere
T: TypedArrayRef<ListView>,
fn nullability(&self) -> Nullability
fn elements(&self) -> &ArrayRef
fn offsets(&self) -> &ArrayRef
fn sizes(&self) -> &ArrayRef
fn listview_validity(&self) -> Validity
fn listview_validity_mask(&self) -> Mask
fn offset_at(&self, index: usize) -> usize
fn size_at(&self, index: usize) -> usize
fn list_elements_at(&self, index: usize) -> VortexResult<ArrayRef>
fn verify_is_zero_copy_to_list(&self) -> bool
Source§impl<T> MaskedArrayExt for Twhere
T: TypedArrayRef<Masked>,
impl<T> MaskedArrayExt for Twhere
T: TypedArrayRef<Masked>,
Source§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);Source§impl<T> PatchedArrayExt for Twhere
T: TypedArrayRef<Patched>,
impl<T> PatchedArrayExt for Twhere
T: TypedArrayRef<Patched>,
Source§impl<T> PatchedArraySlotsExt for Twhere
T: TypedArrayRef<Patched>,
impl<T> PatchedArraySlotsExt for Twhere
T: TypedArrayRef<Patched>,
fn inner(&self) -> &ArrayRef
fn lane_offsets(&self) -> &ArrayRef
fn patch_indices(&self) -> &ArrayRef
fn patch_values(&self) -> &ArrayRef
Source§fn slots_view(&self) -> PatchedSlotsView<'_>
fn slots_view(&self) -> PatchedSlotsView<'_>
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
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
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
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
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> PrimitiveArrayExt for Twhere
T: TypedArrayRef<Primitive>,
impl<T> PrimitiveArrayExt for Twhere
T: TypedArrayRef<Primitive>,
fn ptype(&self) -> PType
fn nullability(&self) -> Nullability
fn validity_child(&self) -> Option<&ArrayRef>
fn validity(&self) -> Validity
fn validity_mask(&self) -> Mask
fn buffer_handle(&self) -> &BufferHandle
fn reinterpret_cast(&self, ptype: PType) -> PrimitiveArray
Source§fn narrow(&self) -> VortexResult<PrimitiveArray>
fn narrow(&self) -> VortexResult<PrimitiveArray>
Source§impl<T> ScalarFnArrayExt for Twhere
T: TypedArrayRef<ScalarFnVTable>,
impl<T> ScalarFnArrayExt for Twhere
T: TypedArrayRef<ScalarFnVTable>,
fn scalar_fn(&self) -> &ScalarFnRef
fn child_at(&self, idx: usize) -> &ArrayRef
fn child_count(&self) -> usize
fn nchildren(&self) -> usize
fn get_child(&self, idx: usize) -> &ArrayRef
fn iter_children(&self) -> impl Iterator<Item = &ArrayRef> + '_
fn children(&self) -> Vec<ArrayRef>
Source§impl<T> SessionVar for T
impl<T> SessionVar for T
fn source(&self) -> &ArrayRef
fn current_array_ref(&self) -> &ArrayRef
fn get_or_compute( &self, f: impl FnOnce(&ArrayRef) -> VortexResult<Canonical>, ) -> VortexResult<ArrayRef>
async fn get_or_compute_async<F, Fut>(&self, f: F) -> VortexResult<ArrayRef>
Source§impl<T> SliceArrayExt for Twhere
T: TypedArrayRef<Slice>,
impl<T> SliceArrayExt for Twhere
T: TypedArrayRef<Slice>,
Source§impl<T> StructArrayExt for Twhere
T: TypedArrayRef<Struct>,
impl<T> StructArrayExt for Twhere
T: TypedArrayRef<Struct>,
fn nullability(&self) -> Nullability
fn names(&self) -> &FieldNames
fn struct_validity(&self) -> Validity
fn iter_unmasked_fields(&self) -> impl Iterator<Item = &ArrayRef> + '_
fn unmasked_fields(&self) -> Arc<[ArrayRef]>
fn unmasked_field(&self, idx: usize) -> &ArrayRef
fn unmasked_field_by_name_opt(&self, name: impl AsRef<str>) -> Option<&ArrayRef>
fn unmasked_field_by_name( &self, name: impl AsRef<str>, ) -> VortexResult<&ArrayRef>
fn struct_fields(&self) -> &StructFields
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.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
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.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
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.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
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.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
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.