pub trait NestedEncode: Sized {
    // Provided methods
    fn dep_encode<O: NestedEncodeOutput>(
        &self,
        dest: &mut O
    ) -> Result<(), EncodeError> { ... }
    fn dep_encode_or_handle_err<O, H>(
        &self,
        dest: &mut O,
        h: H
    ) -> Result<(), H::HandledErr>
       where O: NestedEncodeOutput,
             H: EncodeErrorHandler { ... }
}
Expand description

Trait that allows zero-copy write of value-references to slices in LE format.

Implementations should override using_top_encoded for value types and dep_encode and size_hint for allocating types. Wrapper types should override all methods.

Provided Methods§

source

fn dep_encode<O: NestedEncodeOutput>( &self, dest: &mut O ) -> Result<(), EncodeError>

NestedEncode to output, using the format of an object nested inside another structure. Does not provide compact version.

source

fn dep_encode_or_handle_err<O, H>( &self, dest: &mut O, h: H ) -> Result<(), H::HandledErr>where O: NestedEncodeOutput, H: EncodeErrorHandler,

Version of dep_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 NestedEncode for i64

source§

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

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> NestedEncode 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§

impl NestedEncode for i8

source§

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

source§

impl NestedEncode for Box<str>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> NestedEncode 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§

impl NestedEncode for u64

source§

impl NestedEncode for &str

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> NestedEncode 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§

impl<T> NestedEncode for PhantomData<T>

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> NestedEncode 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§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> NestedEncode 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§

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

source§

impl NestedEncode for ()

source§

impl NestedEncode for i16

source§

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

source§

impl NestedEncode for u16

source§

impl NestedEncode for u8

source§

impl<T: NestedEncode> NestedEncode for &T

source§

impl NestedEncode for bool

source§

impl NestedEncode for isize

source§

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

source§

impl NestedEncode for u32

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> NestedEncode 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§

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

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> NestedEncode 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§

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

source§

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

source§

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

source§

impl NestedEncode for i32

source§

impl NestedEncode for usize

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> NestedEncode 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§

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

source§

impl NestedEncode for NonZeroUsize

source§

impl NestedEncode for String

source§

impl<T: NestedEncode> NestedEncode for Box<T>

source§

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

source§

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

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> NestedEncode 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,

Implementors§