Trait zero_crypto::common::Encode
source · pub trait Encode {
fn size_hint(&self) -> usize { ... }
fn encode_to<T>(&self, dest: &mut T)
where
T: Output + ?Sized,
{ ... }
fn encode(&self) -> Vec<u8, Global> ⓘ { ... }
fn using_encoded<R, F>(&self, f: F) -> R
where
F: FnOnce(&[u8]) -> R,
{ ... }
fn encoded_size(&self) -> usize { ... }
}Expand description
Trait that allows zero-copy write of value-references to slices in LE format.
Implementations should override using_encoded for value types and encode_to and size_hint for allocating types.
Wrapper types should override all methods.
Provided Methods§
sourcefn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding.
This method is used inside default implementation of encode
to avoid re-allocations.
sourcefn encode_to<T>(&self, dest: &mut T)where
T: Output + ?Sized,
fn encode_to<T>(&self, dest: &mut T)where
T: Output + ?Sized,
Convert self to a slice and append it to the destination.
sourcefn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.