use crate::{LegacyFlag, ValueType};
pub trait Table<'buf> {
type Id: From<u8>;
type Name;
type Row;
type BuilderRow;
type Column: Column;
type BuilderColumn: Column;
}
pub trait Column {
type Name: Clone + Ord + PartialEq;
fn clone_label(&self) -> Self::Name;
fn value_type(&self) -> ValueType;
}
pub trait LabelMap {
type Name;
fn position(&self, label: &Self::Name) -> Option<usize>;
}
pub trait ColumnSerialize {
fn ser_value_type(&self) -> ValueType;
fn ser_flags(&self) -> &[LegacyFlag];
}