(
buf: &mut F,
dims: &[ArrayDimension],
elems: impl IntoIterator<Item = T>,
mut format_elem: impl FnMut(ListElementWriter<F>, T) -> Result<Nestable, E>,
)
| 1601 | } |
| 1602 | |
| 1603 | pub fn format_array<F, T, E>( |
| 1604 | buf: &mut F, |
| 1605 | dims: &[ArrayDimension], |
| 1606 | elems: impl IntoIterator<Item = T>, |
| 1607 | mut format_elem: impl FnMut(ListElementWriter<F>, T) -> Result<Nestable, E>, |
| 1608 | ) -> Result<Nestable, E> |
| 1609 | where |
| 1610 | F: FormatBuffer, |
| 1611 | { |
| 1612 | if dims.iter().any(|dim| dim.lower_bound != 1) { |
| 1613 | for d in dims.iter() { |
| 1614 | let (lower, upper) = d.dimension_bounds(); |
| 1615 | write!(buf, "[{}:{}]", lower, upper); |
| 1616 | } |
| 1617 | buf.write_char('='); |
| 1618 | } |
| 1619 | |
| 1620 | format_array_inner(buf, dims, &mut elems.into_iter(), &mut format_elem)?; |
| 1621 | Ok(Nestable::Yes) |
| 1622 | } |
| 1623 | |
| 1624 | pub fn format_array_inner<F, T, E>( |
| 1625 | buf: &mut F, |
no test coverage detected