Trait parity_scale_codec::Decode
source · pub trait Decode: Sized {
// Required method
fn decode<I: Input>(input: &mut I) -> Result<Self, Error>;
// Provided methods
fn decode_into<I: Input>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error> { ... }
fn skip<I: Input>(input: &mut I) -> Result<(), Error> { ... }
fn encoded_fixed_size() -> Option<usize> { ... }
}Expand description
Trait that allows zero-copy read of value-references from slices in LE format.
Required Methods§
Provided Methods§
sourcefn decode_into<I: Input>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>
fn decode_into<I: Input>( input: &mut I, dst: &mut MaybeUninit<Self>, ) -> Result<DecodeFinished, Error>
Attempt to deserialize the value from input into a pre-allocated piece of memory.
The default implementation will just call Decode::decode.
§Safety
If this function returns Ok then dst must be properly initialized.
This is enforced by requiring the implementation to return a DecodeFinished
which can only be created by calling DecodeFinished::assert_decoding_finished which is unsafe.
sourcefn skip<I: Input>(input: &mut I) -> Result<(), Error>
fn skip<I: Input>(input: &mut I) -> Result<(), Error>
Attempt to skip the encoded value from input.
The default implementation of this function is just calling Decode::decode.
When possible, an implementation should provide a specialized implementation.
sourcefn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type.
If it returns Some(size) then all possible values of this
type have the given size (in bytes) when encoded.
NOTE: A type with a fixed encoded size may return None.