Enum zero_copy_pads::Alignment[][src]

pub enum Alignment {
    Left,
    Right,
    CenterLeft,
    CenterRight,
}

Where the place the pad blocks.

Variants

Left

Pad to the right, content to the left.

Example:

use zero_copy_pads::{Alignment::Left, PaddedValue, PanicOnExcess};
let padded_value = PaddedValue {
    pad: Left,
    value: "abcdef",
    pad_block: '-',
    total_width: 9,
    handle_excess: PanicOnExcess,
};
assert_eq!(padded_value.to_string(), "abcdef---");
Right

Pad to the left, content to the right.

Example:

use zero_copy_pads::{Alignment::Right, PaddedValue, PanicOnExcess};
let padded_value = PaddedValue {
    pad: Right,
    value: "abcdef",
    pad_block: '-',
    total_width: 9,
    handle_excess: PanicOnExcess,
};
assert_eq!(padded_value.to_string(), "---abcdef");
CenterLeft

Pad to both sides, place content in the middle, but shift to the left one block if it can’t be exactly central.

Example:

use zero_copy_pads::{Alignment::CenterLeft, PaddedColumn, PanicOnExcess};
let values = [
    "Rust", "C", "C++", "C#", "JavaScript",
    "TypeScript", "Java", "Kotlin", "Go",
];
let padded_column = PaddedColumn {
    pad: CenterLeft,
    values: values.iter(),
    pad_block: '-',
};
let padded_values: Vec<_> = padded_column
    .into_iter()
    .map(|x| x.to_string())
    .collect();
let expected = [
    "---Rust---", "----C-----", "---C++----",
    "----C#----", "JavaScript", "TypeScript",
    "---Java---", "--Kotlin--", "----Go----",
];
assert_eq!(padded_values, expected);
CenterRight

Pad to both sides, place content in the middle, but shift to the right one block if it can’t be exactly central.

Example:

use zero_copy_pads::{Alignment::CenterRight, PaddedColumn, PanicOnExcess};
let values = [
    "Rust", "C", "C++", "C#", "JavaScript",
    "TypeScript", "Java", "Kotlin", "Go",
];
let padded_column = PaddedColumn {
    pad: CenterRight,
    values: values.iter(),
    pad_block: '-',
};
let padded_values: Vec<_> = padded_column
    .into_iter()
    .map(|x| x.to_string())
    .collect();
let expected = [
    "---Rust---", "-----C----", "----C++---",
    "----C#----", "JavaScript", "TypeScript",
    "---Java---", "--Kotlin--", "----Go----",
];
assert_eq!(padded_values, expected);

Trait Implementations

impl Clone for Alignment[src]

impl Copy for Alignment[src]

impl Debug for Alignment[src]

impl Eq for Alignment[src]

impl<Value: Width, PadBlock: Display> Pad<Value, PadBlock> for Alignment[src]

impl PartialEq<Alignment> for Alignment[src]

impl StructuralEq for Alignment[src]

impl StructuralPartialEq for Alignment[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.