Trait arrow2::array::Array

source ·
pub trait Array: Send + Sync + DynClone + 'static {
Show 13 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(&self, offset: usize, length: usize) -> Box<dyn Array>; unsafe fn slice_unchecked( &self, offset: usize, length: usize ) -> Box<dyn Array>; 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 { ... }
}
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§

source

fn as_any(&self) -> &dyn Any

Converts itself to a reference of Any, which enables downcasting to concrete types.

source

fn as_any_mut(&mut self) -> &mut dyn Any

Converts itself to a mutable reference of Any, which enables mutable downcasting to concrete types.

source

fn len(&self) -> usize

The length of the Array. Every array has a length corresponding to the number of elements (slots).

source

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.

source

fn validity(&self) -> Option<&Bitmap>

The validity of the Array: every array has an optional Bitmap that, when available specifies whether the array slot is valid or not (null). When the validity is None, all slots are valid.

source

fn slice(&self, offset: usize, length: usize) -> Box<dyn Array>

Slices the Array, returning a new Box<dyn Array>.

§Implementation

This operation is O(1) over len, as it amounts to increase two ref counts and moving the struct to the heap.

§Panic

This function panics iff offset + length > self.len().

source

unsafe fn slice_unchecked(&self, offset: usize, length: usize) -> Box<dyn Array>

Slices the Array, returning a new Box<dyn 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()

source

fn with_validity(&self, validity: Option<Bitmap>) -> Box<dyn Array>

Clones this Array with a new new assigned bitmap.

§Panic

This function panics iff validity.len() != self.len().

source

fn to_boxed(&self) -> Box<dyn Array>

Clone a &dyn Array to an owned Box<dyn Array>.

Provided Methods§

source

fn is_empty(&self) -> bool

whether the array is empty

source

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.

source

fn is_null(&self, i: usize) -> bool

Returns whether slot i is null.

§Panic

Panics iff i >= self.len().

source

fn is_valid(&self, i: usize) -> bool

Returns whether slot i is valid.

§Panic

Panics iff i >= self.len().

Trait Implementations§

source§

impl<'a> AsRef<dyn Array + 'a> for dyn Array

source§

fn as_ref(&self) -> &(dyn Array + 'a)

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<'clone> Clone for Box<dyn Array + 'clone>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'clone> Clone for Box<dyn Array + Send + 'clone>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'clone> Clone for Box<dyn Array + Send + Sync + 'clone>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'clone> Clone for Box<dyn Array + Sync + 'clone>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for dyn Array + '_

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<O: Offset> PartialEq<&(dyn Array + 'static)> for BinaryArray<O>

source§

fn eq(&self, other: &&dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<&(dyn Array + 'static)> for BooleanArray

source§

fn eq(&self, other: &&dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<K: DictionaryKey> PartialEq<&(dyn Array + 'static)> for DictionaryArray<K>

source§

fn eq(&self, other: &&dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<&(dyn Array + 'static)> for FixedSizeBinaryArray

source§

fn eq(&self, other: &&dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<&(dyn Array + 'static)> for FixedSizeListArray

source§

fn eq(&self, other: &&dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<O: Offset> PartialEq<&(dyn Array + 'static)> for ListArray<O>

source§

fn eq(&self, other: &&dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<&(dyn Array + 'static)> for MapArray

source§

fn eq(&self, other: &&dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<&(dyn Array + 'static)> for NullArray

source§

fn eq(&self, other: &&dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T: NativeType> PartialEq<&(dyn Array + 'static)> for PrimitiveArray<T>

source§

fn eq(&self, other: &&dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<&(dyn Array + 'static)> for StructArray

source§

fn eq(&self, other: &&dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<&(dyn Array + 'static)> for UnionArray

source§

fn eq(&self, other: &&dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<O: Offset> PartialEq<&(dyn Array + 'static)> for Utf8Array<O>

source§

fn eq(&self, other: &&dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<O: Offset> PartialEq<BinaryArray<O>> for &dyn Array

source§

fn eq(&self, other: &BinaryArray<O>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T: NativeType> PartialEq<PrimitiveArray<T>> for &dyn Array

source§

fn eq(&self, other: &PrimitiveArray<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<O: Offset> PartialEq<Utf8Array<O>> for &dyn Array

source§

fn eq(&self, other: &Utf8Array<O>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<dyn Array> for Arc<dyn Array + '_>

source§

fn eq(&self, that: &dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<dyn Array> for Box<dyn Array + '_>

source§

fn eq(&self, that: &dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq for dyn Array + '_

source§

fn eq(&self, that: &dyn Array) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Implementors§