pub trait ArrayEncoding:
'static
+ Sync
+ Send
+ Debug {
// Required methods
fn id(&self) -> EncodingId;
fn canonicalize(&self, array: ArrayData) -> VortexResult<Canonical>;
fn with_dyn(
&self,
array: &ArrayData,
f: &mut dyn for<'b> FnMut(&'b (dyn ArrayTrait + 'b)) -> VortexResult<()>,
) -> VortexResult<()>;
}
Expand description
Object-safe encoding trait for an array.
Required Methods§
fn id(&self) -> EncodingId
Sourcefn canonicalize(&self, array: ArrayData) -> VortexResult<Canonical>
fn canonicalize(&self, array: ArrayData) -> VortexResult<Canonical>
Flatten the given array.
Sourcefn with_dyn(
&self,
array: &ArrayData,
f: &mut dyn for<'b> FnMut(&'b (dyn ArrayTrait + 'b)) -> VortexResult<()>,
) -> VortexResult<()>
fn with_dyn( &self, array: &ArrayData, f: &mut dyn for<'b> FnMut(&'b (dyn ArrayTrait + 'b)) -> VortexResult<()>, ) -> VortexResult<()>
Unwrap the provided array into an implementation of ArrayTrait