pub trait SliceReduce: VTable {
// Required method
fn slice(
array: &Self::Array,
range: Range<usize>,
) -> VortexResult<Option<ArrayRef>>;
}Required Methods§
Sourcefn slice(
array: &Self::Array,
range: Range<usize>,
) -> VortexResult<Option<ArrayRef>>
fn slice( array: &Self::Array, range: Range<usize>, ) -> VortexResult<Option<ArrayRef>>
Slice an array with the provided range without reading buffers.
This trait is for slice implementations that can operate purely on array metadata and
structure without needing to read or execute on the underlying buffers. Implementations
should return None if slicing requires buffer access.
§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.