pub trait Values {
// Required methods
fn encoded_len(&self, mode: Mode) -> usize;
fn write_encoded<W: Write>(
&self,
mode: Mode,
target: &mut W
) -> Result<(), Error>;
// Provided methods
fn explicit(self, tag: Tag) -> Constructed<Self>
where Self: Sized { ... }
fn to_captured(&self, mode: Mode) -> Captured { ... }
}
Expand description
A type that is a value encoder.
Value encoders know how to encode themselves into a
sequence of BER encoded values. While you can impl this trait for your
type manually, in practice it is often easier to define a method called
encode
and let it return some dedicated value encoder type constructed
from the types provided by this module.
A type implementing this trait should encodes itself into one or more BER values. That is, the type becomes the content or part of the content of a constructed value.
Required Methods§
sourcefn encoded_len(&self, mode: Mode) -> usize
fn encoded_len(&self, mode: Mode) -> usize
Returns the length of the encoded values for the given mode.
Provided Methods§
sourcefn explicit(self, tag: Tag) -> Constructed<Self>where
Self: Sized,
fn explicit(self, tag: Tag) -> Constructed<Self>where
Self: Sized,
Converts the encoder into one with an explicit tag.
sourcefn to_captured(&self, mode: Mode) -> Captured
fn to_captured(&self, mode: Mode) -> Captured
Captures the encoded values in the given mode.
Object Safety§
Implementations on Foreign Types§
source§impl<T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T4, T3, T2, T1, T0)
impl<T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T4, T3, T2, T1, T0)
source§impl<T5: Values, T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T5, T4, T3, T2, T1, T0)
impl<T5: Values, T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T5, T4, T3, T2, T1, T0)
source§impl<T6: Values, T5: Values, T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T6, T5, T4, T3, T2, T1, T0)
impl<T6: Values, T5: Values, T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T6, T5, T4, T3, T2, T1, T0)
source§impl<T7: Values, T6: Values, T5: Values, T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T7, T6, T5, T4, T3, T2, T1, T0)
impl<T7: Values, T6: Values, T5: Values, T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T7, T6, T5, T4, T3, T2, T1, T0)
source§impl<T8: Values, T7: Values, T6: Values, T5: Values, T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T8, T7, T6, T5, T4, T3, T2, T1, T0)
impl<T8: Values, T7: Values, T6: Values, T5: Values, T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T8, T7, T6, T5, T4, T3, T2, T1, T0)
source§impl<T9: Values, T8: Values, T7: Values, T6: Values, T5: Values, T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)
impl<T9: Values, T8: Values, T7: Values, T6: Values, T5: Values, T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)
source§impl<T10: Values, T9: Values, T8: Values, T7: Values, T6: Values, T5: Values, T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)
impl<T10: Values, T9: Values, T8: Values, T7: Values, T6: Values, T5: Values, T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)
source§impl<T11: Values, T10: Values, T9: Values, T8: Values, T7: Values, T6: Values, T5: Values, T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T11, T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)
impl<T11: Values, T10: Values, T9: Values, T8: Values, T7: Values, T6: Values, T5: Values, T4: Values, T3: Values, T2: Values, T1: Values, T0: Values> Values for (T11, T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)
source§impl<V: Values> Values for Option<V>
impl<V: Values> Values for Option<V>
Encoding of an optional value.
This implementation encodes None
as nothing, i.e., as an OPTIONAL
in ASN.1 parlance.