pub trait Array: Send + Sync {
    fn as_any(&self) -> &(dyn Any + 'static);
    fn len(&self) -> usize;
    fn data_type(&self) -> &DataType;
    fn validity(&self) -> Option<&Bitmap>;
    fn slice(
        &self,
        offset: usize,
        length: usize
    ) -> Box<dyn Array + 'static, Global>; unsafe fn slice_unchecked(
        &self,
        offset: usize,
        length: usize
    ) -> Box<dyn Array + 'static, Global>; fn with_validity(
        &self,
        validity: Option<Bitmap>
    ) -> Box<dyn Array + 'static, Global>; fn to_boxed(&self) -> Box<dyn Array + 'static, Global>; 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

Convert to trait object.

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

The DataType of the Array. In combination with Array::as_any, this can be used to downcast trait objects (dyn Array) to concrete arrays.

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.

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().

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()

Sets the validity bitmap on this Array.

Panic

This function panics iff validity.len() < self.len().

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

Provided Methods

whether the array is empty

The number of null slots on this Array.

Implementation

This is O(1).

Returns whether slot i is null.

Panic

Panics iff i >= self.len().

Returns whether slot i is valid.

Panic

Panics iff i >= self.len().

Trait Implementations

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

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Implementors