pub struct SuperArrayV {
pub slices: Vec<ArrayV>,
pub len: usize,
pub field: Arc<Field>,
}Expand description
§SuperArrayView
Borrowed view over an arbitrary [offset .. offset+len) window of a ChunkedArray.
The window may span multiple internal chunks, presenting them as a unified logical view.
§Purpose
A mini-batch of one array (or one SuperArray entry). Handy when you’ve
cached null counts / stats over regions and want to operate on those regions
without materialising the whole column.
§Fields
slices: constituentArrayViewpieces spanning the window.len: total logical row count for this view.field: schema field associated with the array (shared).
§Notes
- Use
chunks/iterto walk chunk pieces, oriter_rowsto traverse row-by-row across chunks. - For hot paths, prefer contiguous (memory) windows; otherwise consider
consolidateto materialise a single buffer.
Fields§
§slices: Vec<ArrayV>§len: usize§field: Arc<Field>Implementations§
Source§impl SuperArrayV
impl SuperArrayV
pub fn is_empty(&self) -> bool
pub fn n_slices(&self) -> usize
Sourcepub fn slice(&self, offset: usize, len: usize) -> Self
pub fn slice(&self, offset: usize, len: usize) -> Self
Returns a sub-window of this chunked array view over [offset .. offset+len).
Produces a new ChunkedArrayView with updated slice metadata.
The field metadata is preserved as-is. Underlying data is not cloned.
Sourcepub fn get_value(&self, idx: usize) -> Array
pub fn get_value(&self, idx: usize) -> Array
Returns the 1-element Array value at the logical index.
Sourcepub fn iter(&self) -> impl Iterator<Item = ArrayV> + '_
pub fn iter(&self) -> impl Iterator<Item = ArrayV> + '_
Iterate over all ArraySlice’s in this slice.
Sourcepub fn iter_rows(&self) -> impl Iterator<Item = ArrayVT<'_>> + '_
pub fn iter_rows(&self) -> impl Iterator<Item = ArrayVT<'_>> + '_
Returns an iterator over all rows as 1-element ArrayViews.
Allows walking across potentially chunked memory logically row-by-row.
Trait Implementations§
Source§impl Add for SuperArrayV
Available on crate features chunked and views only.
impl Add for SuperArrayV
chunked and views only.Source§impl ByteSize for SuperArrayV
Available on crate features chunked and views only.ByteSize for SuperArrayV - sum of slice estimates
impl ByteSize for SuperArrayV
chunked and views only.ByteSize for SuperArrayV - sum of slice estimates
Source§impl Clone for SuperArrayV
impl Clone for SuperArrayV
Source§fn clone(&self) -> SuperArrayV
fn clone(&self) -> SuperArrayV
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Concatenate for SuperArrayV
impl Concatenate for SuperArrayV
Source§fn concat(self, other: Self) -> Result<Self, MinarrowError>
fn concat(self, other: Self) -> Result<Self, MinarrowError>
Concatenates two super array views by materialising both to owned arrays, concatenating them, and wrapping the result back in a view.
§Notes
- This operation copies data from both views to create owned arrays.
- The resulting view contains a single slice wrapping the concatenated array.
- The field metadata from the first view is preserved.
Source§impl Consolidate for SuperArrayV
impl Consolidate for SuperArrayV
Source§fn consolidate(self) -> Array
fn consolidate(self) -> Array
Consolidates all view chunks into a single contiguous Array.
§Optimisations
- Single slice covering full array: returns cheap Arc clone (no copy).
- Multiple consecutive slices on same buffer covering full array: Arc clone.
- Otherwise: directly extends from source data slices (single copy per element).
Source§impl Debug for SuperArrayV
impl Debug for SuperArrayV
Source§impl Div for SuperArrayV
Available on crate features chunked and views only.
impl Div for SuperArrayV
chunked and views only.Source§impl From<SuperArray> for SuperArrayV
SuperArray -> SuperArrayV conversion
impl From<SuperArray> for SuperArrayV
SuperArray -> SuperArrayV conversion
Source§fn from(super_array: SuperArray) -> Self
fn from(super_array: SuperArray) -> Self
Source§impl From<SuperArrayV> for Value
Available on crate features chunked and views only.
impl From<SuperArrayV> for Value
chunked and views only.Source§fn from(v: SuperArrayV) -> Self
fn from(v: SuperArrayV) -> Self
Source§impl Mul for SuperArrayV
Available on crate features chunked and views only.
impl Mul for SuperArrayV
chunked and views only.Source§impl PartialEq for SuperArrayV
impl PartialEq for SuperArrayV
Source§impl Rem for SuperArrayV
Available on crate features chunked and views only.
impl Rem for SuperArrayV
chunked and views only.Source§impl Shape for SuperArrayV
impl Shape for SuperArrayV
Source§impl Sub for SuperArrayV
Available on crate features chunked and views only.
impl Sub for SuperArrayV
chunked and views only.Source§impl TryFrom<Value> for SuperArrayV
Available on crate features chunked and views only.
impl TryFrom<Value> for SuperArrayV
chunked and views only.impl StructuralPartialEq for SuperArrayV
Auto Trait Implementations§
impl Freeze for SuperArrayV
impl RefUnwindSafe for SuperArrayV
impl Send for SuperArrayV
impl Sync for SuperArrayV
impl Unpin for SuperArrayV
impl UnsafeUnpin for SuperArrayV
impl UnwindSafe for SuperArrayV
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§impl<T> CustomValue for T
impl<T> CustomValue for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more