pub trait TopDecodeInput: Sized {
    type NestedBuffer: NestedDecodeInput;

    fn byte_len(&self) -> usize;
    fn into_boxed_slice_u8(self) -> Box<[u8]>;
    fn into_max_size_buffer<H, const MAX_LEN: usize>(
        self,
        buffer: &mut [u8; MAX_LEN],
        h: H
    ) -> Result<&[u8], H::HandledErr>
    where
        H: DecodeErrorHandler
; fn into_nested_buffer(self) -> Self::NestedBuffer; fn into_u64<H>(self, h: H) -> Result<u64, H::HandledErr>
    where
        H: DecodeErrorHandler
, { ... } fn into_i64<H>(self, h: H) -> Result<i64, H::HandledErr>
    where
        H: DecodeErrorHandler
, { ... } fn supports_specialized_type<T: TryStaticCast>() -> bool { ... } fn into_specialized<T, H>(self, h: H) -> Result<T, H::HandledErr>
    where
        T: TryStaticCast,
        H: DecodeErrorHandler
, { ... } }
Expand description

Trait that abstracts away an underlying API for a top-level object deserializer. The underlying API can provide pre-parsed i64/u64 or pre-bundled boxed slices.

Required Associated Types§

Required Methods§

Length of the underlying data, in bytes.

Provides the underlying data as an owned byte slice box. Consumes the input object in the process.

Puts the underlying data into a fixed size byte buffer and returns the populated data slice from this buffer.

Will return an error if the data exceeds the provided buffer.

Provided Methods§

Retrieves the underlying data as a pre-parsed u64. Expected to panic if the conversion is not possible.

Consumes the input object in the process.

Retrieves the underlying data as a pre-parsed i64. Expected to panic if the conversion is not possible.

Consumes the input object in the process.

Implementations on Foreign Types§

Implementors§