term: Replace manual Extend impl for Table
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
This commit is contained in:
parent
f00d1d6743
commit
11fc98c9c9
|
|
@ -191,12 +191,6 @@ impl<const W: usize, T: Cell> Table<W, T> {
|
|||
self.rows.push(Row::Header(row));
|
||||
}
|
||||
|
||||
pub fn extend(&mut self, rows: impl IntoIterator<Item = [T; W]>) {
|
||||
for row in rows.into_iter() {
|
||||
self.push(row);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn is_empty(&self) -> bool {
|
||||
!self.rows.iter().any(|r| matches!(r, Row::Data { .. }))
|
||||
}
|
||||
|
|
@ -225,6 +219,20 @@ impl<const W: usize, T: Cell> Table<W, T> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<const W: usize, T: Cell> Extend<[T; W]> for Table<W, T> {
|
||||
fn extend<I>(&mut self, iter: I)
|
||||
where
|
||||
I: IntoIterator<Item = [T; W]>,
|
||||
{
|
||||
self.rows.extend(iter.into_iter().map(|row| {
|
||||
for (i, cell) in row.iter().enumerate() {
|
||||
self.widths[i] = self.widths[i].max(cell.width());
|
||||
}
|
||||
Row::Data(row)
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use crate::Element;
|
||||
|
|
|
|||
Loading…
Reference in New Issue