pub trait TopEncode: Sized {
    // Provided methods
    fn top_encode<O>(&self, output: O) -> Result<(), EncodeError>
       where O: TopEncodeOutput { ... }
    fn top_encode_or_handle_err<O, H>(
        &self,
        output: O,
        h: H
    ) -> Result<(), H::HandledErr>
       where O: TopEncodeOutput,
             H: EncodeErrorHandler { ... }
}

Provided Methods§

source

fn top_encode<O>(&self, output: O) -> Result<(), EncodeError>where O: TopEncodeOutput,

Attempt to serialize the value to ouput.

source

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

Version of top_encode that can handle errors as soon as they occur. For instance in can exit immediately and make sure that if it returns, it is a success. By not deferring error handling, this can lead to somewhat smaller bytecode.

Implementations on Foreign Types§

source§

impl<T: NestedEncode> TopEncode for &[T]

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for bool

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for u16

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0> TopEncode for (T0,)where T0: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TopEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where T0: NestedEncode, T1: NestedEncode, T2: NestedEncode, T3: NestedEncode, T4: NestedEncode, T5: NestedEncode, T6: NestedEncode, T7: NestedEncode, T8: NestedEncode, T9: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for u32

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for i32

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T: NestedEncode> TopEncode for Option<T>

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

Allow None to be serialized to empty bytes, but leave the leading “1” for Some, to allow disambiguation between e.g. Some(0) and None.

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TopEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)where T0: NestedEncode, T1: NestedEncode, T2: NestedEncode, T3: NestedEncode, T4: NestedEncode, T5: NestedEncode, T6: NestedEncode, T7: NestedEncode, T8: NestedEncode, T9: NestedEncode, T10: NestedEncode, T11: NestedEncode, T12: NestedEncode, T13: NestedEncode, T14: NestedEncode, T15: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for i16

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for String

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for i64

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for NonZeroUsize

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for usize

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> TopEncode for (T0, T1, T2, T3, T4, T5, T6, T7)where T0: NestedEncode, T1: NestedEncode, T2: NestedEncode, T3: NestedEncode, T4: NestedEncode, T5: NestedEncode, T6: NestedEncode, T7: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0, T1, T2, T3> TopEncode for (T0, T1, T2, T3)where T0: NestedEncode, T1: NestedEncode, T2: NestedEncode, T3: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TopEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where T0: NestedEncode, T1: NestedEncode, T2: NestedEncode, T3: NestedEncode, T4: NestedEncode, T5: NestedEncode, T6: NestedEncode, T7: NestedEncode, T8: NestedEncode, T9: NestedEncode, T10: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TopEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where T0: NestedEncode, T1: NestedEncode, T2: NestedEncode, T3: NestedEncode, T4: NestedEncode, T5: NestedEncode, T6: NestedEncode, T7: NestedEncode, T8: NestedEncode, T9: NestedEncode, T10: NestedEncode, T11: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T: NestedEncode> TopEncode for Box<[T]>

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T: NestedEncode, const N: usize> TopEncode for [T; N]

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for u64

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0, T1, T2, T3, T4, T5> TopEncode for (T0, T1, T2, T3, T4, T5)where T0: NestedEncode, T1: NestedEncode, T2: NestedEncode, T3: NestedEncode, T4: NestedEncode, T5: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T: TopEncode> TopEncode for Box<T>

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T: TopEncode> TopEncode for &T

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for &str

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for u8

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TopEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where T0: NestedEncode, T1: NestedEncode, T2: NestedEncode, T3: NestedEncode, T4: NestedEncode, T5: NestedEncode, T6: NestedEncode, T7: NestedEncode, T8: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0, T1, T2, T3, T4> TopEncode for (T0, T1, T2, T3, T4)where T0: NestedEncode, T1: NestedEncode, T2: NestedEncode, T3: NestedEncode, T4: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TopEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)where T0: NestedEncode, T1: NestedEncode, T2: NestedEncode, T3: NestedEncode, T4: NestedEncode, T5: NestedEncode, T6: NestedEncode, T7: NestedEncode, T8: NestedEncode, T9: NestedEncode, T10: NestedEncode, T11: NestedEncode, T12: NestedEncode, T13: NestedEncode, T14: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T: NestedEncode, const CAP: usize> TopEncode for ArrayVec<T, CAP>

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for i8

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for Box<str>

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0, T1, T2> TopEncode for (T0, T1, T2)where T0: NestedEncode, T1: NestedEncode, T2: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TopEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)where T0: NestedEncode, T1: NestedEncode, T2: NestedEncode, T3: NestedEncode, T4: NestedEncode, T5: NestedEncode, T6: NestedEncode, T7: NestedEncode, T8: NestedEncode, T9: NestedEncode, T10: NestedEncode, T11: NestedEncode, T12: NestedEncode, T13: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl TopEncode for isize

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0, T1> TopEncode for (T0, T1)where T0: NestedEncode, T1: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TopEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)where T0: NestedEncode, T1: NestedEncode, T2: NestedEncode, T3: NestedEncode, T4: NestedEncode, T5: NestedEncode, T6: NestedEncode, T7: NestedEncode, T8: NestedEncode, T9: NestedEncode, T10: NestedEncode, T11: NestedEncode, T12: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T0, T1, T2, T3, T4, T5, T6> TopEncode for (T0, T1, T2, T3, T4, T5, T6)where T0: NestedEncode, T1: NestedEncode, T2: NestedEncode, T3: NestedEncode, T4: NestedEncode, T5: NestedEncode, T6: NestedEncode,

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

source§

impl<T> TopEncode for PhantomData<T>

Empty structure with an empty bytes representation. Equivalent to false, 0 or [u8; 0], but more explicit.

Note: the unit type () would have naturally fit this role, but we decided to make the unit type multi-value only.

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), H::HandledErr>where O: TopEncodeOutput, H: EncodeErrorHandler,

Implementors§