pub trait ColumnSelection {
type View;
type ColumnView;
type ColumnOwned;
// Required methods
fn c<S>(&self, selection: S) -> Self::View
where S: FieldSelector;
fn get(&self, field: &str) -> Option<Self::ColumnOwned>;
fn col_ix(&self, idx: usize) -> Option<Self::ColumnView>;
fn col_vec(&self) -> Vec<Self::ColumnView>;
fn get_cols(&self) -> Vec<Arc<Field>>;
// Provided method
fn col(&self, name: &str) -> Self::View { ... }
}Expand description
Trait for types that support field/column selection
Associated types determine what each access pattern returns:
View: multi-field selection result, e.g. TableV for Table, Cube for CubeDataView: single column by index, e.g. ArrayVField: single field by name via.get(), e.g. FieldArray for Table, Arcfor Cube
Required Associated Types§
Source type ColumnView
A single column view by index e.g. ArrayV
Source type ColumnOwned
An owned single field by name via
.get()e.g. FieldArray for Table, Arcfor Cube
Required Methods§
Source fn c<S>(&self, selection: S) -> Self::View
where S: FieldSelector,Select fields/columns by name, index, or range
§Examples
table.c(“age”) // single column by name table.c(&[“a”, “b”]) // multiple columns by name table.c(0) // single column by index table.c(0..3) // columns by range
Source fn get(&self, field: &str) -> Option<Self::ColumnOwned>
Get a single field by name, returning an owned value.
Source fn col_ix(&self, idx: usize) -> Option<Self::ColumnView>
Get a single column view by index
Source fn col_vec(&self) -> Vec<Self::ColumnView>
Get all columns as views
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
Source§ impl ColumnSelection for Table
Available on crate featuresselectandviewsonly.Source§ impl ColumnSelection for TableV
Available on crate featureselectonly.