use super::{UnthBuf, CellLayout};
impl<CL: CellLayout> core::fmt::Debug for UnthBuf<CL> {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_struct("UnthBuf")
.field("layout", &std::any::type_name::<CL>())
.field("capacity", &self.capacity)
.field("data_len", &self.data.len())
.field("bits", &self.bits)
.field("mask", &self.mask)
.finish()
}
}
impl<CL: CellLayout + 'static> core::fmt::Display for UnthBuf<CL> {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
write!(f, "[")?;
write!(f, "u{}", self.bits)?;
write!(f, "; ")?;
write!(f, "{}", self.capacity)?;
write!(f, "; ")?;
let mut comma = false;
for element in self {
if comma {
write!(f, ", {element}")?;
} else {
write!(f, "{element}")?;
comma = true;
}
}
write!(f, "]")
}
}