pub trait SliceKernel: VTable {
// Required method
fn slice(
array: &Self::Array,
range: Range<usize>,
ctx: &mut ExecutionCtx,
) -> VortexResult<Option<ArrayRef>>;
}Required Methods§
Sourcefn slice(
array: &Self::Array,
range: Range<usize>,
ctx: &mut ExecutionCtx,
) -> VortexResult<Option<ArrayRef>>
fn slice( array: &Self::Array, range: Range<usize>, ctx: &mut ExecutionCtx, ) -> VortexResult<Option<ArrayRef>>
Slice an array with the provided range, potentially reading buffers.
Unlike SliceReduce, this trait is for slice implementations that may need to read
and execute on the underlying buffers to produce the sliced result.
§Preconditions
The range is guaranteed to be within bounds of the array (i.e., range.end <= array.len()).
Additionally, the range is guaranteed to be non-empty (i.e., range.start < range.end).
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.