pub trait Decode: Sized {
// Required method
fn decode<I>(input: &mut I) -> Result<Self, Error>
where I: Input;
// Provided methods
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>
where I: Input { ... }
fn skip<I>(input: &mut I) -> Result<(), Error>
where I: Input { ... }
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: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
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: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl Decode for AuthorityId
impl Decode for AuthorityId
Source§impl Decode for DataLookupItem
impl Decode for DataLookupItem
Source§impl Decode for DispatchClass
impl Decode for DispatchClass
Source§impl Decode for ExtrinsicAdditional
impl Decode for ExtrinsicAdditional
Source§impl Decode for FeeDetails
impl Decode for FeeDetails
fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<FeeDetails, Error>where
__CodecInputEdqy: Input,
Source§impl Decode for GenericExtrinsic<'_>
impl Decode for GenericExtrinsic<'_>
Source§impl Decode for InclusionFee
impl Decode for InclusionFee
fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<InclusionFee, Error>where
__CodecInputEdqy: Input,
Source§impl Decode for MultiSignature
impl Decode for MultiSignature
fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<MultiSignature, Error>where
__CodecInputEdqy: Input,
Source§impl Decode for OpaqueMetadata
impl Decode for OpaqueMetadata
fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<OpaqueMetadata, Error>where
__CodecInputEdqy: Input,
Source§impl Decode for PerDispatchClassWeight
impl Decode for PerDispatchClassWeight
fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<PerDispatchClassWeight, Error>where
__CodecInputEdqy: Input,
Source§impl Decode for PrimaryPreDigest
impl Decode for PrimaryPreDigest
fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<PrimaryPreDigest, Error>where
__CodecInputEdqy: Input,
Source§impl Decode for RuntimeDispatchInfo
impl Decode for RuntimeDispatchInfo
fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<RuntimeDispatchInfo, Error>where
__CodecInputEdqy: Input,
Source§impl Decode for RuntimeMetadata
impl Decode for RuntimeMetadata
fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<RuntimeMetadata, Error>where
__CodecInputEdqy: Input,
Source§impl Decode for RuntimeMetadataDeprecated
Available on crate feature decode only.
impl Decode for RuntimeMetadataDeprecated
decode only.