Skip to main content

LayoutVTablePlugin

Trait LayoutVTablePlugin 

Source
pub trait LayoutVTablePlugin:
    '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>;

    // Provided method
    fn is_indivisible(&self) -> bool { ... }
}
Expand description

Object-safe plugin registered for a layout ID.

Required Methods§

Source

fn as_any(&self) -> &dyn Any

Returns this plugin as Any.

Source

fn id(&self) -> LayoutEncodingId

Returns the globally unique layout ID.

Source

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.

Provided Methods§

Source

fn is_indivisible(&self) -> bool

Returns true if this layout is indivisible: its readers never register natural split boundaries strictly inside their row range (see VTable::is_indivisible).

Implementations§

Source§

impl dyn LayoutVTablePlugin + '_

Source

pub fn is<V: VTable>(&self) -> bool

Returns whether this plugin is vtable V.

Source

pub fn as_<V: VTable>(&self) -> &V

Downcasts this plugin to vtable V.

Source

pub fn as_opt<V: VTable>(&self) -> Option<&V>

Attempts to downcast this plugin to vtable V.

Trait Implementations§

Source§

impl Display for dyn LayoutVTablePlugin + '_

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for dyn LayoutVTablePlugin + '_

Source§

impl PartialEq for dyn LayoutVTablePlugin + '_

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§