pub struct ExtensionArray(/* private fields */);
Implementations§
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 AsRef<Array> for ExtensionArray
impl AsRef<Array> for ExtensionArray
Source§impl CanonicalVTable<ExtensionArray> for ExtensionEncoding
impl CanonicalVTable<ExtensionArray> for ExtensionEncoding
fn into_canonical(&self, array: ExtensionArray) -> VortexResult<Canonical>
Source§impl Clone for ExtensionArray
impl Clone for ExtensionArray
Source§fn clone(&self) -> ExtensionArray
fn clone(&self) -> ExtensionArray
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl CompareFn<ExtensionArray> for ExtensionEncoding
impl CompareFn<ExtensionArray> for ExtensionEncoding
Source§fn compare(
&self,
lhs: &ExtensionArray,
rhs: &Array,
operator: Operator,
) -> VortexResult<Option<Array>>
fn compare( &self, lhs: &ExtensionArray, rhs: &Array, operator: Operator, ) -> VortexResult<Option<Array>>
Source§impl Debug for ExtensionArray
impl Debug for ExtensionArray
Source§impl Deref for ExtensionArray
impl Deref for ExtensionArray
Source§impl ExtensionArrayTrait for ExtensionArray
impl ExtensionArrayTrait for ExtensionArray
Source§impl From<&TemporalArray> for ExtensionArray
impl From<&TemporalArray> for ExtensionArray
Source§fn from(value: &TemporalArray) -> Self
fn from(value: &TemporalArray) -> Self
Source§impl From<TemporalArray> for ExtensionArray
impl From<TemporalArray> for ExtensionArray
Source§fn from(value: TemporalArray) -> Self
fn from(value: TemporalArray) -> Self
Source§impl IntoArray for ExtensionArray
impl IntoArray for ExtensionArray
fn into_array(self) -> Array
Source§impl ScalarAtFn<ExtensionArray> for ExtensionEncoding
impl ScalarAtFn<ExtensionArray> for ExtensionEncoding
fn scalar_at( &self, array: &ExtensionArray, index: usize, ) -> VortexResult<Scalar>
Source§impl SliceFn<ExtensionArray> for ExtensionEncoding
impl SliceFn<ExtensionArray> for ExtensionEncoding
Source§fn slice(
&self,
array: &ExtensionArray,
start: usize,
stop: usize,
) -> VortexResult<Array>
fn slice( &self, array: &ExtensionArray, 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<ExtensionArray> for ExtensionEncoding
impl StatisticsVTable<ExtensionArray> for ExtensionEncoding
Source§fn compute_statistics(
&self,
array: &ExtensionArray,
stat: Stat,
) -> VortexResult<StatsSet>
fn compute_statistics( &self, array: &ExtensionArray, stat: Stat, ) -> VortexResult<StatsSet>
Source§impl TakeFn<ExtensionArray> for ExtensionEncoding
impl TakeFn<ExtensionArray> for ExtensionEncoding
Source§fn take(&self, array: &ExtensionArray, indices: &Array) -> VortexResult<Array>
fn take(&self, array: &ExtensionArray, 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<ExtensionArray> for ExtensionEncoding
impl ToArrowFn<ExtensionArray> for ExtensionEncoding
Source§fn to_arrow(
&self,
array: &ExtensionArray,
data_type: &DataType,
) -> VortexResult<Option<ArrayRef>>
fn to_arrow( &self, array: &ExtensionArray, data_type: &DataType, ) -> VortexResult<Option<ArrayRef>>
Source§fn preferred_arrow_data_type(
&self,
_array: &A,
) -> VortexResult<Option<DataType>>
fn preferred_arrow_data_type( &self, _array: &A, ) -> 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§impl<'a> TryFrom<&'a Array> for &'a ExtensionArray
impl<'a> TryFrom<&'a Array> for &'a ExtensionArray
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 ExtensionArray
impl TryFrom<Array> for ExtensionArray
Source§type Error = VortexError
type Error = VortexError
Source§fn try_from(data: Array) -> VortexResult<Self>
fn try_from(data: Array) -> VortexResult<Self>
Source§impl TryFrom<ExtensionArray> for TemporalArray
impl TryFrom<ExtensionArray> for TemporalArray
Source§type Error = VortexError
type Error = VortexError
Source§impl ValidityVTable<ExtensionArray> for ExtensionEncoding
impl ValidityVTable<ExtensionArray> for ExtensionEncoding
Source§fn is_valid(&self, array: &ExtensionArray, index: usize) -> VortexResult<bool>
fn is_valid(&self, array: &ExtensionArray, index: usize) -> VortexResult<bool>
index
item is valid.Source§fn all_valid(&self, array: &ExtensionArray) -> VortexResult<bool>
fn all_valid(&self, array: &ExtensionArray) -> VortexResult<bool>
fn validity_mask(&self, array: &ExtensionArray) -> VortexResult<Mask>
Source§fn invalid_count(&self, array: &Array) -> VortexResult<usize>
fn invalid_count(&self, array: &Array) -> VortexResult<usize>
Source§impl VariantsVTable<ExtensionArray> for ExtensionEncoding
impl VariantsVTable<ExtensionArray> for ExtensionEncoding
fn as_extension_array<'a>( &self, array: &'a ExtensionArray, ) -> Option<&'a dyn ExtensionArrayTrait>
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_utf8_array<'a>(&self, _array: &'a Array) -> Option<&'a dyn Utf8ArrayTrait>
fn as_binary_array<'a>( &self, _array: &'a Array, ) -> Option<&'a dyn BinaryArrayTrait>
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>
Source§impl VisitorVTable<ExtensionArray> for ExtensionEncoding
impl VisitorVTable<ExtensionArray> for ExtensionEncoding
fn accept( &self, array: &ExtensionArray, visitor: &mut dyn ArrayVisitor, ) -> VortexResult<()>
Auto Trait Implementations§
impl !Freeze for ExtensionArray
impl !RefUnwindSafe for ExtensionArray
impl Send for ExtensionArray
impl Sync for ExtensionArray
impl Unpin for ExtensionArray
impl !UnwindSafe for ExtensionArray
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.