Trait EncodeOption

Source
pub unsafe trait EncodeOption<E: ?Sized>: EncodableOption + Sized {
    // Required method
    fn encode_option(
        this: Option<Self>,
        encoder: &mut E,
        out: &mut MaybeUninit<Self::EncodedOption>,
    ) -> Result<(), EncodeError>;
}
Expand description

Encodes an optional value.

§Safety

encode_option must initialize all non-padding bytes of out.

Required Methods§

Source

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Encodes this optional value into an encoder and output.

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<E, T> EncodeOption<E> for &[T]
where E: Encoder + ?Sized, T: EncodeRef<E>,

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E, T> EncodeOption<E> for Vec<T>
where E: Encoder + ?Sized, T: Encode<E>,

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized> EncodeOption<E> for &str

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized> EncodeOption<E> for bool

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized> EncodeOption<E> for f32

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized> EncodeOption<E> for f64

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized> EncodeOption<E> for i8

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized> EncodeOption<E> for i16

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized> EncodeOption<E> for i32

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized> EncodeOption<E> for i64

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized> EncodeOption<E> for u8

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized> EncodeOption<E> for u16

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized> EncodeOption<E> for u32

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized> EncodeOption<E> for u64

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized> EncodeOption<E> for ()

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized> EncodeOption<E> for String

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: HandleEncoder + ?Sized> EncodeOption<E> for Channel

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: HandleEncoder + ?Sized> EncodeOption<E> for Handle

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized, T: EncodeOption<E>> EncodeOption<E> for Box<T>

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized, T: EncodeOptionRef<E>> EncodeOption<E> for &T

Source§

fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>

Implementors§