FnFoldCtx

Trait FnFoldCtx 

Source
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§

Source

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.

Source

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.

Source

fn write_result(&mut self, v: LiteralValue)

Return accumulated result (for two-pass folds like AVERAGE).

Source

fn args(&self) -> &[ArgumentHandle<'_, '_>]

Access original argument handles (for functions needing parameter scalars like k in LARGE/SMALL)

Implementors§

Source§

impl<'a, 'b> FnFoldCtx for SimpleFoldCtx<'a, 'b>