Struct arrow_array::array::TypedRunArray
source · pub struct TypedRunArray<'a, R: RunEndIndexType, V> { /* private fields */ }
Expand description
A RunArray
typed typed on its child values array
Implements ArrayAccessor
and IntoIterator
allowing fast access to its elements
use arrow_array::{RunArray, StringArray, types::Int32Type};
let orig = ["a", "b", "a", "b"];
let ree_array = RunArray::<Int32Type>::from_iter(orig);
// `TypedRunArray` allows you to access the values directly
let typed = ree_array.downcast::<StringArray>().unwrap();
for (maybe_val, orig) in typed.into_iter().zip(orig) {
assert_eq!(maybe_val.unwrap(), orig)
}
Implementations§
source§impl<'a, R: RunEndIndexType, V> TypedRunArray<'a, R, V>
impl<'a, R: RunEndIndexType, V> TypedRunArray<'a, R, V>
sourcepub fn run_ends(&self) -> &'a RunEndBuffer<R::Native>
pub fn run_ends(&self) -> &'a RunEndBuffer<R::Native>
Returns the run_ends of this TypedRunArray
sourcepub fn values(&self) -> &'a V
pub fn values(&self) -> &'a V
Returns the values of this TypedRunArray
sourcepub fn run_array(&self) -> &'a RunArray<R>
pub fn run_array(&self) -> &'a RunArray<R>
Returns the run array of this TypedRunArray
Trait Implementations§
source§impl<'a, R: RunEndIndexType, V: Sync> Array for TypedRunArray<'a, R, V>
impl<'a, R: RunEndIndexType, V: Sync> Array for TypedRunArray<'a, R, V>
source§fn slice(&self, offset: usize, length: usize) -> ArrayRef
fn slice(&self, offset: usize, length: usize) -> ArrayRef
Returns a zero-copy slice of this array with the indicated offset and length. Read more
source§fn offset(&self) -> usize
fn offset(&self) -> usize
Returns the offset into the underlying data used by this array(-slice).
Note that the underlying data can be shared by many arrays.
This defaults to
0
. Read moresource§fn logical_nulls(&self) -> Option<NullBuffer>
fn logical_nulls(&self) -> Option<NullBuffer>
Returns the logical null buffer of this array if any Read more
source§fn is_nullable(&self) -> bool
fn is_nullable(&self) -> bool
Returns
false
if the array is guaranteed to not contain any logical nulls Read moresource§fn get_buffer_memory_size(&self) -> usize
fn get_buffer_memory_size(&self) -> usize
Returns the total number of bytes of memory pointed to by this array.
The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
source§fn get_array_memory_size(&self) -> usize
fn get_array_memory_size(&self) -> usize
Returns the total number of bytes of memory occupied physically by this array.
This value will always be greater than returned by
get_buffer_memory_size()
and
includes the overhead of the data structures that contain the pointers to the various buffers.source§fn is_null(&self, index: usize) -> bool
fn is_null(&self, index: usize) -> bool
Returns whether the element at
index
is null.
When using this function on a slice, the index is relative to the slice. Read moresource§fn is_valid(&self, index: usize) -> bool
fn is_valid(&self, index: usize) -> bool
Returns whether the element at
index
is not null.
When using this function on a slice, the index is relative to the slice. Read moresource§fn null_count(&self) -> usize
fn null_count(&self) -> usize
Returns the total number of physical null values in this array. Read more
source§impl<'a, R, V> ArrayAccessor for TypedRunArray<'a, R, V>where
R: RunEndIndexType,
V: Sync + Send,
&'a V: ArrayAccessor,
<&'a V as ArrayAccessor>::Item: Default,
impl<'a, R, V> ArrayAccessor for TypedRunArray<'a, R, V>where R: RunEndIndexType, V: Sync + Send, &'a V: ArrayAccessor, <&'a V as ArrayAccessor>::Item: Default,
§type Item = <&'a V as ArrayAccessor>::Item
type Item = <&'a V as ArrayAccessor>::Item
The Arrow type of the element being accessed.
source§impl<'a, R: RunEndIndexType, V> Clone for TypedRunArray<'a, R, V>
impl<'a, R: RunEndIndexType, V> Clone for TypedRunArray<'a, R, V>
source§impl<'a, R: RunEndIndexType, V> Debug for TypedRunArray<'a, R, V>
impl<'a, R: RunEndIndexType, V> Debug for TypedRunArray<'a, R, V>
source§impl<'a, R, V> IntoIterator for TypedRunArray<'a, R, V>where
R: RunEndIndexType,
V: Sync + Send,
&'a V: ArrayAccessor,
<&'a V as ArrayAccessor>::Item: Default,
impl<'a, R, V> IntoIterator for TypedRunArray<'a, R, V>where R: RunEndIndexType, V: Sync + Send, &'a V: ArrayAccessor, <&'a V as ArrayAccessor>::Item: Default,
impl<'a, R: RunEndIndexType, V> Copy for TypedRunArray<'a, R, V>
Auto Trait Implementations§
impl<'a, R, V> !RefUnwindSafe for TypedRunArray<'a, R, V>
impl<'a, R, V> Send for TypedRunArray<'a, R, V>where V: Sync,
impl<'a, R, V> Sync for TypedRunArray<'a, R, V>where V: Sync,
impl<'a, R, V> Unpin for TypedRunArray<'a, R, V>
impl<'a, R, V> !UnwindSafe for TypedRunArray<'a, R, V>
Blanket Implementations§
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
Mutably borrows from an owned value. Read more