pub trait ColumnData:
Send
+ Sync
+ 'static {
Show 19 methods
// Required methods
fn ty(&self) -> ValueType;
fn len(&self) -> usize;
fn encoding(&self) -> EncodingId;
fn is_nullable(&self) -> bool;
fn nones(&self) -> Option<&NoneBitmap>;
fn stats(&self) -> &StatsSet;
fn get_value(&self, idx: usize) -> Value;
fn as_string(&self, idx: usize) -> String;
fn as_any(&self) -> &dyn Any;
fn as_any_mut(&mut self) -> &mut dyn Any;
fn children(&self) -> &[Column];
fn metadata(&self) -> &dyn Any;
fn to_canonical(&self) -> Result<Arc<Canonical>>;
// Provided methods
fn is_empty(&self) -> bool { ... }
fn is_defined(&self, idx: usize) -> bool { ... }
fn iter(&self) -> Box<dyn Iterator<Item = Value> + '_> { ... }
fn filter(&self, mask: &RowMask) -> Result<Column> { ... }
fn take(&self, indices: &Column) -> Result<Column> { ... }
fn slice(&self, start: usize, end: usize) -> Result<Column> { ... }
}Required Methods§
fn ty(&self) -> ValueType
fn len(&self) -> usize
fn encoding(&self) -> EncodingId
fn is_nullable(&self) -> bool
fn nones(&self) -> Option<&NoneBitmap>
fn stats(&self) -> &StatsSet
fn get_value(&self, idx: usize) -> Value
fn as_string(&self, idx: usize) -> String
fn as_any(&self) -> &dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
fn children(&self) -> &[Column]
fn metadata(&self) -> &dyn Any
fn to_canonical(&self) -> Result<Arc<Canonical>>
Provided Methods§
fn is_empty(&self) -> bool
fn is_defined(&self, idx: usize) -> bool
fn iter(&self) -> Box<dyn Iterator<Item = Value> + '_>
fn filter(&self, mask: &RowMask) -> Result<Column>
fn take(&self, indices: &Column) -> Result<Column>
fn slice(&self, start: usize, end: usize) -> Result<Column>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".