Struct zero_copy_pads::PaddedValue [−][src]
pub struct PaddedValue<Value, PadBlock = char, HandleExcess = ExcessHandlingFunction<Value, PadBlock>, Pad = Alignment> where
Value: Width,
PadBlock: Display,
HandleExcess: ExcessHandler<Value, PadBlock>,
Pad: Pad<Value, PadBlock>, { pub value: Value, pub pad_block: PadBlock, pub total_width: usize, pub pad: Pad, pub handle_excess: HandleExcess, }
Pad a single value.
Key traits:
Display
: Displays the padded version of the value.
Example: Pad dash characters to the left of a string
use zero_copy_pads::{PaddedValue, AlignRight, PanicOnExcess}; let padded_value = PaddedValue { value: "abcdef", pad_block: '-', total_width: 9, pad: AlignRight, handle_excess: PanicOnExcess, }; assert_eq!(padded_value.to_string(), "---abcdef");
Example: Use a builder (requires std
feature)
use zero_copy_pads::{PaddedValueBuilder, AlignRight, PanicOnExcess}; let padded_value = PaddedValueBuilder::default() .value("abcdef") .pad_block('-') .total_width(9) .pad(AlignRight) .handle_excess(PanicOnExcess) .build() .unwrap(); assert_eq!(padded_value.to_string(), "---abcdef");
Fields
value: Value
Value to be padded.
pad_block: PadBlock
Block of the pad (expected to have width of 1).
total_width: usize
Total width to fulfill.
pad: Pad
How to pad.
handle_excess: HandleExcess
How to write when the actual width of value
exceeds total_width
.
Trait Implementations
impl<Value: Clone, PadBlock: Clone, HandleExcess: Clone, Pad: Clone> Clone for PaddedValue<Value, PadBlock, HandleExcess, Pad> where
Value: Width,
PadBlock: Display,
HandleExcess: ExcessHandler<Value, PadBlock>,
Pad: Pad<Value, PadBlock>,
[src]
impl<Value: Clone, PadBlock: Clone, HandleExcess: Clone, Pad: Clone> Clone for PaddedValue<Value, PadBlock, HandleExcess, Pad> where
Value: Width,
PadBlock: Display,
HandleExcess: ExcessHandler<Value, PadBlock>,
Pad: Pad<Value, PadBlock>,
[src]fn clone(&self) -> PaddedValue<Value, PadBlock, HandleExcess, Pad>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<Value: Copy, PadBlock: Copy, HandleExcess: Copy, Pad: Copy> Copy for PaddedValue<Value, PadBlock, HandleExcess, Pad> where
Value: Width,
PadBlock: Display,
HandleExcess: ExcessHandler<Value, PadBlock>,
Pad: Pad<Value, PadBlock>,
[src]
impl<Value: Copy, PadBlock: Copy, HandleExcess: Copy, Pad: Copy> Copy for PaddedValue<Value, PadBlock, HandleExcess, Pad> where
Value: Width,
PadBlock: Display,
HandleExcess: ExcessHandler<Value, PadBlock>,
Pad: Pad<Value, PadBlock>,
[src]Auto Trait Implementations
impl<Value, PadBlock, HandleExcess, Pad> RefUnwindSafe for PaddedValue<Value, PadBlock, HandleExcess, Pad> where
HandleExcess: RefUnwindSafe,
Pad: RefUnwindSafe,
PadBlock: RefUnwindSafe,
Value: RefUnwindSafe,
impl<Value, PadBlock, HandleExcess, Pad> RefUnwindSafe for PaddedValue<Value, PadBlock, HandleExcess, Pad> where
HandleExcess: RefUnwindSafe,
Pad: RefUnwindSafe,
PadBlock: RefUnwindSafe,
Value: RefUnwindSafe,
impl<Value, PadBlock, HandleExcess, Pad> Send for PaddedValue<Value, PadBlock, HandleExcess, Pad> where
HandleExcess: Send,
Pad: Send,
PadBlock: Send,
Value: Send,
impl<Value, PadBlock, HandleExcess, Pad> Send for PaddedValue<Value, PadBlock, HandleExcess, Pad> where
HandleExcess: Send,
Pad: Send,
PadBlock: Send,
Value: Send,
impl<Value, PadBlock, HandleExcess, Pad> Sync for PaddedValue<Value, PadBlock, HandleExcess, Pad> where
HandleExcess: Sync,
Pad: Sync,
PadBlock: Sync,
Value: Sync,
impl<Value, PadBlock, HandleExcess, Pad> Sync for PaddedValue<Value, PadBlock, HandleExcess, Pad> where
HandleExcess: Sync,
Pad: Sync,
PadBlock: Sync,
Value: Sync,
impl<Value, PadBlock, HandleExcess, Pad> Unpin for PaddedValue<Value, PadBlock, HandleExcess, Pad> where
HandleExcess: Unpin,
Pad: Unpin,
PadBlock: Unpin,
Value: Unpin,
impl<Value, PadBlock, HandleExcess, Pad> Unpin for PaddedValue<Value, PadBlock, HandleExcess, Pad> where
HandleExcess: Unpin,
Pad: Unpin,
PadBlock: Unpin,
Value: Unpin,
impl<Value, PadBlock, HandleExcess, Pad> UnwindSafe for PaddedValue<Value, PadBlock, HandleExcess, Pad> where
HandleExcess: UnwindSafe,
Pad: UnwindSafe,
PadBlock: UnwindSafe,
Value: UnwindSafe,
impl<Value, PadBlock, HandleExcess, Pad> UnwindSafe for PaddedValue<Value, PadBlock, HandleExcess, Pad> where
HandleExcess: UnwindSafe,
Pad: UnwindSafe,
PadBlock: UnwindSafe,
Value: UnwindSafe,
Blanket Implementations
impl<X> Pipe for X
impl<X> Pipe for X
pub fn pipe<Return, Function>(self, f: Function) -> Return where
Function: FnOnce(Self) -> Return,
Function: FnOnce(Self) -> Return,
pub fn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Return where
Function: FnOnce(&'a Self) -> Return,
Function: FnOnce(&'a Self) -> Return,
pub fn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Return where
Function: FnOnce(&'a mut Self) -> Return,
Function: FnOnce(&'a mut Self) -> Return,
pub fn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
Self: AsRef<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
Self: AsRef<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
pub fn pipe_as_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function
) -> Return where
Self: AsMut<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,
&'a mut self,
f: Function
) -> Return where
Self: AsMut<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,
pub fn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
Self: Deref<Target = Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
Self: Deref<Target = Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
pub fn pipe_deref_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function
) -> Return where
Self: DerefMut<Target = Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,
&'a mut self,
f: Function
) -> Return where
Self: DerefMut<Target = Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,
pub fn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
Self: Borrow<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
Self: Borrow<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
pub fn pipe_borrow_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function
) -> Return where
Self: BorrowMut<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,
&'a mut self,
f: Function
) -> Return where
Self: BorrowMut<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,