pub enum Choice2<L, R> {
One(L),
Two(R),
}
Expand description
A value encoder for a two-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, R: Values> Values for Choice2<L, R>
impl<L: Values, R: Values> Values for Choice2<L, 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.
Auto Trait Implementations§
impl<L, R> RefUnwindSafe for Choice2<L, R>where
L: RefUnwindSafe,
R: RefUnwindSafe,
impl<L, R> Send for Choice2<L, R>
impl<L, R> Sync for Choice2<L, R>
impl<L, R> Unpin for Choice2<L, R>
impl<L, R> UnwindSafe for Choice2<L, R>where
L: UnwindSafe,
R: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more