fn create_aux_table<I>(&self, area: Area, axis: Axis2, cells: I) -> Table
where
- I: Iterator<Item = Box<Value>> + ExactSizeIterator,
+ I: IntoIterator<Item = Box<Value>>,
+ I::IntoIter: ExactSizeIterator,
{
+ let cells = cells.into_iter();
let mut table = Table::new(
CellPos::for_axis((axis, cells.len()), 1),
CellPos::new(0, 0),
self.borders(false),
self,
);
- for (z, row) in cells.enumerate() {
+ for (z, row) in cells.into_iter().enumerate() {
table.put(
CellRect::for_cell(CellPos::for_axis((axis, z), 0)),
CellInner::new(area, row),
fn create_aux_table_if_nonempty<I>(&self, area: Area, rows: I) -> Option<Table>
where
- I: Iterator<Item = Box<Value>> + ExactSizeIterator,
+ I: IntoIterator<Item = Box<Value>>,
+ I::IntoIter: ExactSizeIterator,
{
+ let rows = rows.into_iter();
if rows.len() > 0 {
Some(self.create_aux_table(area, Axis2::Y, rows))
} else {
Some(self.create_aux_table(
Area::Title,
Axis2::Y,
- [self.metadata.title.as_ref()?.clone()].into_iter(),
+ [self.metadata.title.as_ref()?.clone()],
))
}
[
Box::new(name),
dimension.nth_leaf(layer_index).unwrap().name.clone(),
- ]
- .into_iter(),
+ ],
)
})
.collect()
Some(self.create_aux_table(
Area::Caption,
Axis2::Y,
- [self.metadata.caption.as_ref()?.clone()].into_iter(),
+ [self.metadata.caption.as_ref()?.clone()],
))
}