Skip to main content

FilterKernel

Trait FilterKernel 

Source
pub trait FilterKernel: VTable {
    // Required method
    fn filter(
        array: &Self::Array,
        mask: &Mask,
        ctx: &mut ExecutionCtx,
    ) -> VortexResult<Option<ArrayRef>>;
}

Required Methods§

Source

fn filter( array: &Self::Array, mask: &Mask, ctx: &mut ExecutionCtx, ) -> VortexResult<Option<ArrayRef>>

Filter an array with the provided mask, potentially reading buffers.

Unlike FilterReduce, this trait is for filter implementations that may need to read and execute on the underlying buffers to produce the filtered result.

§Preconditions

The mask is guaranteed to have the same length as the array.

Additionally, the mask is guaranteed to be a Mask::Values variant (i.e., neither Mask::AllTrue nor Mask::AllFalse).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§