Struct zero_copy_pads::ExcessHandlingFunction[][src]

pub struct ExcessHandlingFunction<Value, PadBlock = char>(pub fn(_: Excess<'_, Value, PadBlock>, _: &mut Formatter<'_>) -> Result<(), Error>)
where
    Value: Width,
    PadBlock: Display
;

Turn a function (without closure) into a ExcessHandler.

Example: Truncate to make it fit

use zero_copy_pads::{ExcessHandlingFunction, Excess, PaddedValue, AlignRight};
use std::fmt::{Formatter, Result};
let truncate = ExcessHandlingFunction::<&str>(|excess, formatter| {
    let mut value = excess.value.to_string();
    value.truncate(excess.total_width);
    write!(formatter, "{}", value)
});
let padded_value = PaddedValue {
    handle_excess: truncate,
    value: "abcdefghi",
    total_width: 4,
    pad_block: ' ',
    pad: AlignRight,
};
assert_eq!(padded_value.to_string(), "abcd");

Trait Implementations

impl<Value, PadBlock> AsMut<fn(Excess<'_, Value, PadBlock>, &mut Formatter<'_>) -> Result<(), Error>> for ExcessHandlingFunction<Value, PadBlock> where
    Value: Width,
    PadBlock: Display
[src]

impl<Value, PadBlock> AsRef<fn(Excess<'_, Value, PadBlock>, &mut Formatter<'_>) -> Result<(), Error>> for ExcessHandlingFunction<Value, PadBlock> where
    Value: Width,
    PadBlock: Display
[src]

impl<Value: Clone, PadBlock: Clone> Clone for ExcessHandlingFunction<Value, PadBlock> where
    Value: Width,
    PadBlock: Display
[src]

impl<Value: Copy, PadBlock: Copy> Copy for ExcessHandlingFunction<Value, PadBlock> where
    Value: Width,
    PadBlock: Display
[src]

impl<Value, PadBlock> Deref for ExcessHandlingFunction<Value, PadBlock> where
    Value: Width,
    PadBlock: Display
[src]

type Target = fn(_: Excess<'_, Value, PadBlock>, _: &mut Formatter<'_>) -> Result<(), Error>

The resulting type after dereferencing.

impl<Value, PadBlock> DerefMut for ExcessHandlingFunction<Value, PadBlock> where
    Value: Width,
    PadBlock: Display
[src]

impl<Value, PadBlock> ExcessHandler<Value, PadBlock> for ExcessHandlingFunction<Value, PadBlock> where
    Value: Width,
    PadBlock: Display
[src]

impl<Value, PadBlock> From<ErrorOnExcess> for ExcessHandlingFunction<Value, PadBlock> where
    Value: Width,
    PadBlock: Display
[src]

impl<Value, PadBlock> From<IgnoreExcess> for ExcessHandlingFunction<Value, PadBlock> where
    Value: Width,
    PadBlock: Display
[src]

impl<Value, PadBlock> From<PanicOnExcess> for ExcessHandlingFunction<Value, PadBlock> where
    Value: Width,
    PadBlock: Display
[src]

impl<Value, PadBlock> From<fn(Excess<'_, Value, PadBlock>, &mut Formatter<'_>) -> Result<(), Error>> for ExcessHandlingFunction<Value, PadBlock> where
    Value: Width,
    PadBlock: Display
[src]

Auto Trait Implementations

impl<Value, PadBlock> RefUnwindSafe for ExcessHandlingFunction<Value, PadBlock>

impl<Value, PadBlock> Send for ExcessHandlingFunction<Value, PadBlock>

impl<Value, PadBlock> Sync for ExcessHandlingFunction<Value, PadBlock>

impl<Value, PadBlock> Unpin for ExcessHandlingFunction<Value, PadBlock>

impl<Value, PadBlock> UnwindSafe for ExcessHandlingFunction<Value, PadBlock>

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.