pub trait LayoutEncoding:
'static
+ Send
+ Sync
+ Debug {
// Required methods
fn as_any(&self) -> &dyn Any;
fn id(&self) -> LayoutEncodingId;
fn build(
&self,
dtype: &DType,
row_count: u64,
metadata: &[u8],
segment_ids: Vec<SegmentId>,
children: &dyn LayoutChildren,
build_ctx: &LayoutBuildContext<'_>,
) -> VortexResult<LayoutRef>;
}Expand description
Object-safe plugin registered for a layout ID.
Required Methods§
Sourcefn id(&self) -> LayoutEncodingId
fn id(&self) -> LayoutEncodingId
Returns the globally unique layout ID.
Sourcefn build(
&self,
dtype: &DType,
row_count: u64,
metadata: &[u8],
segment_ids: Vec<SegmentId>,
children: &dyn LayoutChildren,
build_ctx: &LayoutBuildContext<'_>,
) -> VortexResult<LayoutRef>
fn build( &self, dtype: &DType, row_count: u64, metadata: &[u8], segment_ids: Vec<SegmentId>, children: &dyn LayoutChildren, build_ctx: &LayoutBuildContext<'_>, ) -> VortexResult<LayoutRef>
Deserializes a layout node.
Implementations§
Trait Implementations§
Source§impl Display for dyn LayoutVTablePlugin + '_
impl Display for dyn LayoutVTablePlugin + '_
impl Eq for dyn LayoutVTablePlugin + '_
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".