Trait Decodable

Source
pub trait Decodable<'a>: Sized {
    // Required methods
    fn get_structure(data: &[u8]) -> Result<Vec<FieldMarker>, Error>;
    fn from_decoded_fields(data: Vec<DecodableField<'a>>) -> Result<Self, Error>;

    // Provided method
    fn from_bytes(data: &'a mut [u8]) -> Result<Self, Error> { ... }
}
Expand description

Implmented by all the decodable structure, it can be derived for every structure composed only by primitives or other Decodable.

Required Methods§

Provided Methods§

Source

fn from_bytes(data: &'a mut [u8]) -> Result<Self, Error>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'a> Decodable<'a> for bool

Source§

impl<'a> Decodable<'a> for f32

Source§

impl<'a> Decodable<'a> for u8

Source§

impl<'a> Decodable<'a> for u16

Source§

impl<'a> Decodable<'a> for u32

Source§

impl<'a> Decodable<'a> for u64

Implementors§

Source§

impl<'a> Decodable<'a> for U24

Source§

impl<'a, T> Decodable<'a> for Seq0255<'a, T>
where T: 'a + Sv2DataType<'a> + GetMarker + GetSize + Decodable<'a>,

Source§

impl<'a, T> Decodable<'a> for Seq064K<'a, T>
where T: 'a + Sv2DataType<'a> + GetMarker + GetSize + Decodable<'a>,

Source§

impl<'a, T> Decodable<'a> for Sv2Option<'a, T>
where T: 'a + Sv2DataType<'a> + GetMarker + GetSize + Decodable<'a>,