Skip to main content

LayoutChildren

Trait LayoutChildren 

Source
pub trait LayoutChildren:
    'static
    + Send
    + Sync {
    // Required methods
    fn to_arc(&self) -> Arc<dyn LayoutChildren> ;
    fn child(&self, idx: usize, dtype: &DType) -> VortexResult<LayoutRef>;
    fn child_row_count(&self, idx: usize) -> u64;
    fn nchildren(&self) -> usize;
}
Expand description

Abstract way of accessing the children of a layout.

This allows us to abstract over the lazy flatbuffer-based layouts, as well as the in-memory layout trees.

Required Methods§

Source

fn to_arc(&self) -> Arc<dyn LayoutChildren>

Source

fn child(&self, idx: usize, dtype: &DType) -> VortexResult<LayoutRef>

Source

fn child_row_count(&self, idx: usize) -> u64

Source

fn nchildren(&self) -> usize

Trait Implementations§

Source§

impl Debug for dyn LayoutChildren

Source§

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

Formats the value using the given formatter. Read more

Dyn Compatibility§

This trait is dyn compatible.

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

Implementations on Foreign Types§

Source§

impl LayoutChildren for Arc<dyn LayoutChildren>

Source§

fn to_arc(&self) -> Arc<dyn LayoutChildren>

Source§

fn child(&self, idx: usize, dtype: &DType) -> VortexResult<LayoutRef>

Source§

fn child_row_count(&self, idx: usize) -> u64

Source§

fn nchildren(&self) -> usize

Implementors§