pub trait Encode {
// Required methods
fn encoded_len(&self) -> Result<Length>;
fn encode(&self, encoder: &mut impl Writer) -> Result<()>;
// Provided methods
fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]> { ... }
fn encode_to_vec(&self, buf: &mut Vec<u8>) -> Result<Length> { ... }
fn to_der(&self) -> Result<Vec<u8>> { ... }
}
Expand description
Encoding trait.
Required Methods§
sourcefn encoded_len(&self) -> Result<Length>
fn encoded_len(&self) -> Result<Length>
Compute the length of this value in bytes when encoded as ASN.1 DER.
Provided Methods§
sourcefn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]>
fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]>
Encode this value to the provided byte slice, returning a sub-slice containing the encoded message.
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
source§impl<T> Encode for PhantomData<T>where
T: ?Sized,
impl<T> Encode for PhantomData<T>where
T: ?Sized,
Dummy implementation for PhantomData
which allows deriving
implementations on structs with phantom fields.