Struct arrow_array::array::GenericListViewArray
source · pub struct GenericListViewArray<OffsetSize: OffsetSizeTrait> { /* private fields */ }
Expand description
Different from crate::GenericListArray
as it stores both an offset and length
meaning that take / filter operations can be implemented without copying the underlying data.
Implementations§
source§impl<OffsetSize: OffsetSizeTrait> GenericListViewArray<OffsetSize>
impl<OffsetSize: OffsetSizeTrait> GenericListViewArray<OffsetSize>
sourcepub const DATA_TYPE_CONSTRUCTOR: fn(_: FieldRef) -> DataType = _
pub const DATA_TYPE_CONSTRUCTOR: fn(_: FieldRef) -> DataType = _
The data type constructor of listview array.
The input is the schema of the child array and
the output is the DataType
, ListView or LargeListView.
sourcepub fn try_new(
field: FieldRef,
offsets: ScalarBuffer<OffsetSize>,
sizes: ScalarBuffer<OffsetSize>,
values: ArrayRef,
nulls: Option<NullBuffer>,
) -> Result<Self, ArrowError>
pub fn try_new( field: FieldRef, offsets: ScalarBuffer<OffsetSize>, sizes: ScalarBuffer<OffsetSize>, values: ArrayRef, nulls: Option<NullBuffer>, ) -> Result<Self, ArrowError>
Create a new GenericListViewArray
from the provided parts
§Errors
Errors if
offsets.len() != sizes.len()
offsets.len() != nulls.len()
offsets[i] > values.len()
!field.is_nullable() && values.is_nullable()
field.data_type() != values.data_type()
0 <= offsets[i] <= length of the child array
0 <= offsets[i] + size[i] <= length of the child array
sourcepub fn new(
field: FieldRef,
offsets: ScalarBuffer<OffsetSize>,
sizes: ScalarBuffer<OffsetSize>,
values: ArrayRef,
nulls: Option<NullBuffer>,
) -> Self
pub fn new( field: FieldRef, offsets: ScalarBuffer<OffsetSize>, sizes: ScalarBuffer<OffsetSize>, values: ArrayRef, nulls: Option<NullBuffer>, ) -> Self
Create a new GenericListViewArray
from the provided parts
§Panics
Panics if Self::try_new
returns an error
sourcepub fn new_null(field: FieldRef, len: usize) -> Self
pub fn new_null(field: FieldRef, len: usize) -> Self
Create a new GenericListViewArray
of length len
where all values are null
sourcepub fn into_parts(
self,
) -> (FieldRef, ScalarBuffer<OffsetSize>, ScalarBuffer<OffsetSize>, ArrayRef, Option<NullBuffer>)
pub fn into_parts( self, ) -> (FieldRef, ScalarBuffer<OffsetSize>, ScalarBuffer<OffsetSize>, ArrayRef, Option<NullBuffer>)
Deconstruct this array into its constituent parts
sourcepub fn offsets(&self) -> &ScalarBuffer<OffsetSize>
pub fn offsets(&self) -> &ScalarBuffer<OffsetSize>
Returns a reference to the offsets of this list
Unlike Self::value_offsets
this returns the ScalarBuffer
allowing for zero-copy cloning
sourcepub fn sizes(&self) -> &ScalarBuffer<OffsetSize>
pub fn sizes(&self) -> &ScalarBuffer<OffsetSize>
Returns a reference to the sizes of this list
Unlike Self::value_sizes
this returns the ScalarBuffer
allowing for zero-copy cloning
sourcepub fn value_type(&self) -> DataType
pub fn value_type(&self) -> DataType
Returns a clone of the value type of this list.
sourcepub unsafe fn value_unchecked(&self, i: usize) -> ArrayRef
pub unsafe fn value_unchecked(&self, i: usize) -> ArrayRef
Returns ith value of this list view array.
§Safety
Caller must ensure that the index is within the array bounds
sourcepub fn value_offsets(&self) -> &[OffsetSize]
pub fn value_offsets(&self) -> &[OffsetSize]
Returns the offset values in the offsets buffer
sourcepub fn value_sizes(&self) -> &[OffsetSize]
pub fn value_sizes(&self) -> &[OffsetSize]
Returns the sizes values in the offsets buffer
sourcepub fn value_size(&self, i: usize) -> OffsetSize
pub fn value_size(&self, i: usize) -> OffsetSize
Returns the size for value at index i
.
sourcepub fn value_offset(&self, i: usize) -> OffsetSize
pub fn value_offset(&self, i: usize) -> OffsetSize
Returns the offset for value at index i
.
sourcepub fn iter(&self) -> GenericListViewArrayIter<'_, OffsetSize>
pub fn iter(&self) -> GenericListViewArrayIter<'_, OffsetSize>
Constructs a new iterator
Trait Implementations§
source§impl<OffsetSize: OffsetSizeTrait> Array for GenericListViewArray<OffsetSize>
impl<OffsetSize: OffsetSizeTrait> Array for GenericListViewArray<OffsetSize>
source§fn slice(&self, offset: usize, length: usize) -> ArrayRef
fn slice(&self, offset: usize, length: usize) -> ArrayRef
source§fn offset(&self) -> usize
fn offset(&self) -> usize
0
. Read moresource§fn nulls(&self) -> Option<&NullBuffer>
fn nulls(&self) -> Option<&NullBuffer>
source§fn logical_null_count(&self) -> usize
fn logical_null_count(&self) -> usize
source§fn get_buffer_memory_size(&self) -> usize
fn get_buffer_memory_size(&self) -> usize
source§fn get_array_memory_size(&self) -> usize
fn get_array_memory_size(&self) -> usize
get_buffer_memory_size()
and
includes the overhead of the data structures that contain the pointers to the various buffers.source§fn logical_nulls(&self) -> Option<NullBuffer>
fn logical_nulls(&self) -> Option<NullBuffer>
NullBuffer
that represents the logical
null values of this array, if any. Read moresource§fn null_count(&self) -> usize
fn null_count(&self) -> usize
source§fn is_nullable(&self) -> bool
fn is_nullable(&self) -> bool
false
if the array is guaranteed to not contain any logical nulls Read moresource§impl<OffsetSize: OffsetSizeTrait> ArrayAccessor for &GenericListViewArray<OffsetSize>
impl<OffsetSize: OffsetSizeTrait> ArrayAccessor for &GenericListViewArray<OffsetSize>
source§impl<OffsetSize: Clone + OffsetSizeTrait> Clone for GenericListViewArray<OffsetSize>
impl<OffsetSize: Clone + OffsetSizeTrait> Clone for GenericListViewArray<OffsetSize>
source§fn clone(&self) -> GenericListViewArray<OffsetSize>
fn clone(&self) -> GenericListViewArray<OffsetSize>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<OffsetSize: OffsetSizeTrait> Debug for GenericListViewArray<OffsetSize>
impl<OffsetSize: OffsetSizeTrait> Debug for GenericListViewArray<OffsetSize>
source§impl<OffsetSize: OffsetSizeTrait> From<ArrayData> for GenericListViewArray<OffsetSize>
impl<OffsetSize: OffsetSizeTrait> From<ArrayData> for GenericListViewArray<OffsetSize>
source§impl<OffsetSize: OffsetSizeTrait> From<FixedSizeListArray> for GenericListViewArray<OffsetSize>
impl<OffsetSize: OffsetSizeTrait> From<FixedSizeListArray> for GenericListViewArray<OffsetSize>
source§fn from(value: FixedSizeListArray) -> Self
fn from(value: FixedSizeListArray) -> Self
source§impl<OffsetSize: OffsetSizeTrait> From<GenericListViewArray<OffsetSize>> for ArrayData
impl<OffsetSize: OffsetSizeTrait> From<GenericListViewArray<OffsetSize>> for ArrayData
source§fn from(array: GenericListViewArray<OffsetSize>) -> Self
fn from(array: GenericListViewArray<OffsetSize>) -> Self
source§impl<OffsetSize: OffsetSizeTrait> PartialEq for GenericListViewArray<OffsetSize>
impl<OffsetSize: OffsetSizeTrait> PartialEq for GenericListViewArray<OffsetSize>
Auto Trait Implementations§
impl<OffsetSize> Freeze for GenericListViewArray<OffsetSize>
impl<OffsetSize> !RefUnwindSafe for GenericListViewArray<OffsetSize>
impl<OffsetSize> Send for GenericListViewArray<OffsetSize>
impl<OffsetSize> Sync for GenericListViewArray<OffsetSize>
impl<OffsetSize> Unpin for GenericListViewArray<OffsetSize>where
OffsetSize: Unpin,
impl<OffsetSize> !UnwindSafe for GenericListViewArray<OffsetSize>
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)