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<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 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 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<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<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<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,

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 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 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, 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 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<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> 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<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<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 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<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 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<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> 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<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 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, 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<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 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 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 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, 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<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 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<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 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<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<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> 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 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<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<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,

Implementors§