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 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
.
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>
.
This operation is O(1)
over len
, as it amounts to increase two ref counts
and moving the struct to the heap.
This function panics iff offset + length > self.len()
.
Slices the Array
, returning a new Box<dyn Array>
.
This operation is O(1)
over len
, as it amounts to increase two ref counts
and moving the struct to the heap.
The caller must ensure that offset + length <= self.len()
Sets the validity bitmap on this Array
.
This function panics iff validity.len() < self.len()
.
whether the array is empty
The number of null slots on this Array
.
This is O(1)
.
Returns whether slot i
is null.
Panics iff i >= self.len()
.
Returns whether slot i
is valid.
Panics iff i >= self.len()
.
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 !=
.