pub trait LayoutReader: 'static + ExprEvaluator {
// Required methods
fn layout(&self) -> &Layout;
fn children(&self) -> VortexResult<Vec<Arc<dyn LayoutReader>>>;
// Provided methods
fn row_count(&self) -> u64 { ... }
fn dtype(&self) -> &DType { ... }
}Expand description
A LayoutReader is an instance of a Layout that can cache state across multiple
operations.
Since different row ranges of the reader may be evaluated by different threads, it is required
to be both Send and Sync.