use crate::bitmap::Bitmap;
pub type BitmapMarker = ();
pub trait BitmapForLength<const N: usize> {
type Output: Bitmap;
}
impl BitmapForLength<7> for BitmapMarker {
type Output = u8;
}
impl BitmapForLength<15> for BitmapMarker {
type Output = u16;
}
impl BitmapForLength<31> for BitmapMarker {
type Output = u32;
}
impl BitmapForLength<63> for BitmapMarker {
type Output = u64;
}
impl BitmapForLength<127> for BitmapMarker {
type Output = u128;
}
pub type BitmapType<const N: usize> = <BitmapMarker as BitmapForLength<N>>::Output;