use std::hash::{Hash, Hasher};
#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)]
pub struct TableIndex{pub(crate) row: usize, pub(crate) column: usize}
#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)]
pub struct RowName(pub u32);
#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)]
pub struct Tag(pub u32);
impl Tag{
pub const fn new(id: u32) -> Self{
Self( id )
}
pub fn from_hash(id: impl Hash, hasher: &mut impl Hasher) -> Self{
id.hash(hasher);
Self(hasher.finish() as u32)
}
}