pub struct RangeView<'a> { /* private fields */ }Expand description
Unified view over a 2D range with efficient traversal utilities. Phase 4: Arrow-only backing.
Implementations§
Source§impl<'a> RangeView<'a>
impl<'a> RangeView<'a>
pub fn with_cancel_token(self, token: Option<Arc<AtomicBool>>) -> Self
pub fn sheet(&self) -> &ArrowSheet
pub fn from_owned_rows( rows: Vec<Vec<LiteralValue>>, date_system: DateSystem, ) -> RangeView<'static>
pub fn dims(&self) -> (usize, usize)
pub fn expand_to(&self, rows: usize, cols: usize) -> RangeView<'a>
pub fn sub_view( &self, rs: usize, cs: usize, rows: usize, cols: usize, ) -> RangeView<'a>
pub fn is_empty(&self) -> bool
Sourcepub fn sheet_name(&self) -> &str
pub fn sheet_name(&self) -> &str
Owning sheet name.
pub fn kind_probe(&self) -> RangeKind
pub fn as_1x1(&self) -> Option<LiteralValue>
Sourcepub fn get_cell(&self, row: usize, col: usize) -> LiteralValue
pub fn get_cell(&self, row: usize, col: usize) -> LiteralValue
Get a specific cell by row and column index (0-based). Returns Empty for out-of-bounds access.
Sourcepub fn iter_row_chunks(&self) -> RowChunkIterator<'_> ⓘ
pub fn iter_row_chunks(&self) -> RowChunkIterator<'_> ⓘ
Iterate overlapping chunks by row segment.
Sourcepub fn for_each_cell(
&self,
f: &mut dyn FnMut(&LiteralValue) -> Result<(), ExcelError>,
) -> Result<(), ExcelError>
pub fn for_each_cell( &self, f: &mut dyn FnMut(&LiteralValue) -> Result<(), ExcelError>, ) -> Result<(), ExcelError>
Row-major cell traversal.
Sourcepub fn for_each_row(
&self,
f: &mut dyn FnMut(&[LiteralValue]) -> Result<(), ExcelError>,
) -> Result<(), ExcelError>
pub fn for_each_row( &self, f: &mut dyn FnMut(&[LiteralValue]) -> Result<(), ExcelError>, ) -> Result<(), ExcelError>
Visit each row as a borrowed slice (buffered).
Sourcepub fn for_each_col(
&self,
f: &mut dyn FnMut(&[LiteralValue]) -> Result<(), ExcelError>,
) -> Result<(), ExcelError>
pub fn for_each_col( &self, f: &mut dyn FnMut(&[LiteralValue]) -> Result<(), ExcelError>, ) -> Result<(), ExcelError>
Visit each column as a contiguous slice (buffered).
Sourcepub fn get_cell_numeric(
&self,
row: usize,
col: usize,
policy: CoercionPolicy,
) -> Option<f64>
pub fn get_cell_numeric( &self, row: usize, col: usize, policy: CoercionPolicy, ) -> Option<f64>
Get a numeric value at a specific cell, with coercion. Returns None for empty cells or non-coercible values.
Sourcepub fn numbers_chunked(
&self,
policy: CoercionPolicy,
min_chunk: usize,
f: &mut dyn FnMut(NumericChunk<'_>) -> Result<(), ExcelError>,
) -> Result<(), ExcelError>
pub fn numbers_chunked( &self, policy: CoercionPolicy, min_chunk: usize, f: &mut dyn FnMut(NumericChunk<'_>) -> Result<(), ExcelError>, ) -> Result<(), ExcelError>
Numeric chunk iteration with coercion policy.
Sourcepub fn numbers_slices(
&self,
) -> impl Iterator<Item = Result<(usize, usize, Vec<Arc<Float64Array>>), ExcelError>> + '_
pub fn numbers_slices( &self, ) -> impl Iterator<Item = Result<(usize, usize, Vec<Arc<Float64Array>>), ExcelError>> + '_
Typed numeric slices per row-segment: (row_start, row_len, per-column Float64 arrays)
Sourcepub fn booleans_slices(
&self,
) -> impl Iterator<Item = Result<(usize, usize, Vec<Arc<BooleanArray>>), ExcelError>> + '_
pub fn booleans_slices( &self, ) -> impl Iterator<Item = Result<(usize, usize, Vec<Arc<BooleanArray>>), ExcelError>> + '_
Typed boolean slices per row-segment, overlay-aware via zip.
Sourcepub fn text_slices(
&self,
) -> impl Iterator<Item = Result<(usize, usize, Vec<ArrayRef>), ExcelError>> + '_
pub fn text_slices( &self, ) -> impl Iterator<Item = Result<(usize, usize, Vec<ArrayRef>), ExcelError>> + '_
Text slices per row-segment (erased as ArrayRef for Utf8 today; future Dict/View support).
Sourcepub fn lowered_text_slices(
&self,
) -> impl Iterator<Item = Result<(usize, usize, Vec<Arc<StringArray>>), ExcelError>> + '_
pub fn lowered_text_slices( &self, ) -> impl Iterator<Item = Result<(usize, usize, Vec<Arc<StringArray>>), ExcelError>> + '_
Typed lowered text slices per row-segment, overlay-aware via zip.
Sourcepub fn errors_slices(
&self,
) -> impl Iterator<Item = Result<(usize, usize, Vec<Arc<UInt8Array>>), ExcelError>> + '_
pub fn errors_slices( &self, ) -> impl Iterator<Item = Result<(usize, usize, Vec<Arc<UInt8Array>>), ExcelError>> + '_
Typed error-code slices per row-segment.
Typed type-tag slices per row-segment.
Sourcepub fn lowered_text_columns(&self) -> Vec<ArrayRef> ⓘ
pub fn lowered_text_columns(&self) -> Vec<ArrayRef> ⓘ
Build per-column concatenated lowered text arrays for this view. Uses per-chunk lowered cache for base text and merges overlays via zip_select.
Sourcepub fn slice_numbers(
&self,
rel_start: usize,
len: usize,
) -> Vec<Option<Arc<Float64Array>>>
pub fn slice_numbers( &self, rel_start: usize, len: usize, ) -> Vec<Option<Arc<Float64Array>>>
Slice typed float arrays for a specific row interval (relative to view).
Sourcepub fn slice_lowered_text(
&self,
rel_start: usize,
len: usize,
) -> Vec<Option<Arc<StringArray>>>
pub fn slice_lowered_text( &self, rel_start: usize, len: usize, ) -> Vec<Option<Arc<StringArray>>>
Slice typed lowered text arrays for a specific row interval (relative to view).
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for RangeView<'a>
impl<'a> !RefUnwindSafe for RangeView<'a>
impl<'a> Send for RangeView<'a>
impl<'a> Sync for RangeView<'a>
impl<'a> Unpin for RangeView<'a>
impl<'a> UnsafeUnpin for RangeView<'a>
impl<'a> !UnwindSafe for RangeView<'a>
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> 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