Function zero_copy_pads::align_column_center_left[][src]

pub fn align_column_center_left<ValueList>(
    values: ValueList
) -> PaddedColumnIter<ValueList::Item, char, AlignCenterLeft>

Notable traits for PaddedColumnIter<Value, PadBlock, Pad>

impl<Value, PadBlock, Pad> Iterator for PaddedColumnIter<Value, PadBlock, Pad> where
    Value: Width,
    PadBlock: Display + Copy,
    Pad: Pad<Value, PadBlock> + Copy
type Item = PaddedValue<Value, PadBlock, PanicOnExcess, Pad>;
where
    ValueList: Iterator,
    ValueList::Item: Width

Pad space characters to both sides of every value so that they all share the same width. The remainder blocks will be placed at the right.

Example:

use zero_copy_pads::align_column_center_left;
use pipe_trait::Pipe;
let values = vec![
    "Rust", "C", "C++", "C#", "JavaScript",
    "TypeScript", "Java", "Kotlin", "Go",
];
let padded_values: Vec<_> = values
    .iter()
    .pipe(align_column_center_left)
    .into_iter()
    .map(|x| x.to_string())
    .collect();
let expected = [
    "   Rust   ", "    C     ", "   C++    ",
    "    C#    ", "JavaScript", "TypeScript",
    "   Java   ", "  Kotlin  ", "    Go    ",
];
assert_eq!(padded_values, expected);