pub enum Choice3<L, C, R> {
One(L),
Two(C),
Three(R),
}
Expand description
A value encoder for a three-variant enum.
Instead of implementing Values
for an enum manually, you can just
define a method encode
that returns a value of this type.
Variants§
Trait Implementations§
source§impl<L: Values, C: Values, R: Values> Values for Choice3<L, C, R>
impl<L: Values, C: Values, R: Values> Values for Choice3<L, C, R>
source§fn encoded_len(&self, mode: Mode) -> usize
fn encoded_len(&self, mode: Mode) -> usize
Returns the length of the encoded values for the given mode.
source§fn write_encoded<W: Write>(&self, mode: Mode, target: &mut W) -> Result<(), Error>
fn write_encoded<W: Write>(&self, mode: Mode, target: &mut W) -> Result<(), Error>
Encodes the values in the given mode and writes them to
target
.source§fn 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.
source§fn to_captured(&self, mode: Mode) -> Captured
fn to_captured(&self, mode: Mode) -> Captured
Captures the encoded values in the given mode.