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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so 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.