pub trait Array: Send + Sync + DynClone + 'static {
Show 15 methods
// Required methods
fn as_any(&self) -> &dyn Any;
fn as_any_mut(&mut self) -> &mut dyn Any;
fn len(&self) -> usize;
fn data_type(&self) -> &DataType;
fn validity(&self) -> Option<&Bitmap>;
fn slice(&mut self, offset: usize, length: usize);
unsafe fn slice_unchecked(&mut self, offset: usize, length: usize);
fn with_validity(&self, validity: Option<Bitmap>) -> Box<dyn Array>;
fn to_boxed(&self) -> Box<dyn Array>;
// Provided methods
fn is_empty(&self) -> bool { ... }
fn null_count(&self) -> usize { ... }
fn is_null(&self, i: usize) -> bool { ... }
fn is_valid(&self, i: usize) -> bool { ... }
fn sliced(&self, offset: usize, length: usize) -> Box<dyn Array> { ... }
unsafe fn sliced_unchecked(
&self,
offset: usize,
length: usize
) -> Box<dyn Array> { ... }
}Expand description
A trait representing an immutable Arrow array. Arrow arrays are trait objects
that are infallibly downcasted to concrete types according to the Array::data_type.
Required Methods§
sourcefn as_any(&self) -> &dyn Any
fn as_any(&self) -> &dyn Any
Converts itself to a reference of Any, which enables downcasting to concrete types.
sourcefn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
Converts itself to a mutable reference of Any, which enables mutable downcasting to concrete types.
sourcefn len(&self) -> usize
fn len(&self) -> usize
The length of the Array. Every array has a length corresponding to the number of
elements (slots).
sourcefn data_type(&self) -> &DataType
fn data_type(&self) -> &DataType
The DataType of the Array. In combination with Array::as_any, this can be
used to downcast trait objects (dyn Array) to concrete arrays.
sourcefn slice(&mut self, offset: usize, length: usize)
fn slice(&mut self, offset: usize, length: usize)
Slices this Array.
Implementation
This operation is O(1) over len.
Panic
This function panics iff offset + length > self.len().
sourceunsafe fn slice_unchecked(&mut self, offset: usize, length: usize)
unsafe fn slice_unchecked(&mut self, offset: usize, length: usize)
Slices the Array.
Implementation
This operation is O(1).
Safety
The caller must ensure that offset + length <= self.len()
Provided Methods§
sourcefn null_count(&self) -> usize
fn null_count(&self) -> usize
The number of null slots on this Array.
Implementation
This is O(1) since the number of null elements is pre-computed.
sourcefn sliced(&self, offset: usize, length: usize) -> Box<dyn Array>
fn sliced(&self, offset: usize, length: usize) -> Box<dyn Array>
Returns a slice of this Array.
Implementation
This operation is O(1) over len.
Panic
This function panics iff offset + length > self.len().
sourceunsafe fn sliced_unchecked(
&self,
offset: usize,
length: usize
) -> Box<dyn Array>
unsafe fn sliced_unchecked( &self, offset: usize, length: usize ) -> Box<dyn Array>
Returns a slice of this Array.
Implementation
This operation is O(1) over len, as it amounts to increase two ref counts
and moving the struct to the heap.
Safety
The caller must ensure that offset + length <= self.len()
Trait Implementations§
source§impl<O: Offset> PartialEq<&(dyn Array + 'static)> for BinaryArray<O>
impl<O: Offset> PartialEq<&(dyn Array + 'static)> for BinaryArray<O>
source§impl PartialEq<&(dyn Array + 'static)> for BooleanArray
impl PartialEq<&(dyn Array + 'static)> for BooleanArray
source§impl<K: DictionaryKey> PartialEq<&(dyn Array + 'static)> for DictionaryArray<K>
impl<K: DictionaryKey> PartialEq<&(dyn Array + 'static)> for DictionaryArray<K>
source§impl PartialEq<&(dyn Array + 'static)> for FixedSizeBinaryArray
impl PartialEq<&(dyn Array + 'static)> for FixedSizeBinaryArray
source§impl PartialEq<&(dyn Array + 'static)> for FixedSizeListArray
impl PartialEq<&(dyn Array + 'static)> for FixedSizeListArray
source§impl<O: Offset> PartialEq<&(dyn Array + 'static)> for ListArray<O>
impl<O: Offset> PartialEq<&(dyn Array + 'static)> for ListArray<O>
source§impl PartialEq<&(dyn Array + 'static)> for MapArray
impl PartialEq<&(dyn Array + 'static)> for MapArray
source§impl PartialEq<&(dyn Array + 'static)> for NullArray
impl PartialEq<&(dyn Array + 'static)> for NullArray
source§impl<T: NativeType> PartialEq<&(dyn Array + 'static)> for PrimitiveArray<T>
impl<T: NativeType> PartialEq<&(dyn Array + 'static)> for PrimitiveArray<T>
source§impl PartialEq<&(dyn Array + 'static)> for StructArray
impl PartialEq<&(dyn Array + 'static)> for StructArray
source§impl PartialEq<&(dyn Array + 'static)> for UnionArray
impl PartialEq<&(dyn Array + 'static)> for UnionArray
source§impl<O: Offset> PartialEq<&(dyn Array + 'static)> for Utf8Array<O>
impl<O: Offset> PartialEq<&(dyn Array + 'static)> for Utf8Array<O>
source§impl<O: Offset> PartialEq<BinaryArray<O>> for &dyn Array
impl<O: Offset> PartialEq<BinaryArray<O>> for &dyn Array
source§fn eq(&self, other: &BinaryArray<O>) -> bool
fn eq(&self, other: &BinaryArray<O>) -> bool
self and other values to be equal, and is used
by ==.source§impl<T: NativeType> PartialEq<PrimitiveArray<T>> for &dyn Array
impl<T: NativeType> PartialEq<PrimitiveArray<T>> for &dyn Array
source§fn eq(&self, other: &PrimitiveArray<T>) -> bool
fn eq(&self, other: &PrimitiveArray<T>) -> bool
self and other values to be equal, and is used
by ==.