pub trait DecodeOwned {
    type Output: Debug;
    type Error: From<Error> + Debug;

    // Required method
    fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>;
}
Expand description

Decode trait implemented for owned types

This allows eliding lifetime constraints for owned (ie. self-contained, not reference) types and provides a blanket Decode implementation

Required Associated Types§

source

type Output: Debug

Output type

source

type Error: From<Error> + Debug

Error type returned on parse error

Required Methods§

source

fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>

Decode consumes a slice and returns an object and decoded length.

Implementations on Foreign Types§

source§

impl DecodeOwned for f64

§

type Output = f64

§

type Error = Error

source§

fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>

source§

impl DecodeOwned for u32

§

type Output = u32

§

type Error = Error

source§

fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>

source§

impl DecodeOwned for u8

§

type Output = u8

§

type Error = Error

source§

fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>

source§

impl DecodeOwned for u16

§

type Output = u16

§

type Error = Error

source§

fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>

source§

impl<T> DecodeOwned for Vec<T>where T: DecodeOwned<Output = T> + Debug, <T as DecodeOwned>::Error: From<Error> + Debug,

DecodeOwned for alloc::vec::Vecs containing DecodeOwned types

§

type Error = <T as DecodeOwned>::Error

§

type Output = Vec<<T as DecodeOwned>::Output, Global>

source§

fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>

source§

impl<T, const N: usize> DecodeOwned for Vec<T, N>where T: DecodeOwned<Output = T> + Debug, <T as DecodeOwned>::Error: From<Error> + Debug,

DecodeOwned for heapless::Vecs containing DecodeOwned types

§

type Error = <T as DecodeOwned>::Error

§

type Output = Vec<<T as DecodeOwned>::Output, N>

source§

fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>

source§

impl DecodeOwned for f32

§

type Output = f32

§

type Error = Error

source§

fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>

source§

impl DecodeOwned for i64

§

type Output = i64

§

type Error = Error

source§

fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>

source§

impl DecodeOwned for i32

§

type Output = i32

§

type Error = Error

source§

fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>

source§

impl DecodeOwned for i16

§

type Output = i16

§

type Error = Error

source§

fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>

source§

impl DecodeOwned for u64

§

type Output = u64

§

type Error = Error

source§

fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>

source§

impl<T, const N: usize> DecodeOwned for [T; N]where T: DecodeOwned<Output = T> + Debug + Default + Copy, <T as DecodeOwned>::Error: From<Error> + Debug,

§

type Error = <T as DecodeOwned>::Error

§

type Output = [<T as DecodeOwned>::Output; N]

source§

fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>

source§

impl DecodeOwned for i8

§

type Output = i8

§

type Error = Error

source§

fn decode_owned(buff: &[u8]) -> Result<(Self::Output, usize), Self::Error>

Implementors§