pub trait FnFoldCtx {
// Required methods
fn for_each_numeric_chunk(
&mut self,
min_chunk: usize,
f: &mut dyn FnMut(NumericChunk<'_>) -> Result<(), ExcelError>,
) -> Result<(), ExcelError>;
fn for_each_cell(
&mut self,
f: &mut dyn FnMut(&LiteralValue) -> Result<(), ExcelError>,
) -> Result<(), ExcelError>;
fn write_result(&mut self, v: LiteralValue);
fn args(&self) -> &[ArgumentHandle<'_, '_>];
}Expand description
Context for eval_fold (Reduction operations).
Provides efficient iteration over input ranges for fold/reduce operations.
Required Methods§
Sourcefn for_each_numeric_chunk(
&mut self,
min_chunk: usize,
f: &mut dyn FnMut(NumericChunk<'_>) -> Result<(), ExcelError>,
) -> Result<(), ExcelError>
fn for_each_numeric_chunk( &mut self, min_chunk: usize, f: &mut dyn FnMut(NumericChunk<'_>) -> Result<(), ExcelError>, ) -> Result<(), ExcelError>
Visit numeric chunks packed from all range arguments; no materialization required.
Sourcefn for_each_cell(
&mut self,
f: &mut dyn FnMut(&LiteralValue) -> Result<(), ExcelError>,
) -> Result<(), ExcelError>
fn for_each_cell( &mut self, f: &mut dyn FnMut(&LiteralValue) -> Result<(), ExcelError>, ) -> Result<(), ExcelError>
Visit cells (coerced via range visitors) in row-major order.
Sourcefn write_result(&mut self, v: LiteralValue)
fn write_result(&mut self, v: LiteralValue)
Return accumulated result (for two-pass folds like AVERAGE).
Sourcefn args(&self) -> &[ArgumentHandle<'_, '_>]
fn args(&self) -> &[ArgumentHandle<'_, '_>]
Access original argument handles (for functions needing parameter scalars like k in LARGE/SMALL)