Struct staging_xcm::DoubleEncoded
source · pub struct DoubleEncoded<T> { /* private fields */ }Expand description
Wrapper around the encoded and decoded versions of a value. Caches the decoded value once computed.
Implementations§
source§impl<T> DoubleEncoded<T>
impl<T> DoubleEncoded<T>
pub fn into<S>(self) -> DoubleEncoded<S>
pub fn from<S>(e: DoubleEncoded<S>) -> Self
source§impl<T: Decode> DoubleEncoded<T>
impl<T: Decode> DoubleEncoded<T>
sourcepub fn ensure_decoded(&mut self) -> Result<&T, ()>
pub fn ensure_decoded(&mut self) -> Result<&T, ()>
Decode the inner encoded value and store it.
Returns a reference to the value in case of success and Err(()) in case the decoding
fails.
sourcepub fn take_decoded(&mut self) -> Result<T, ()>
pub fn take_decoded(&mut self) -> Result<T, ()>
Move the decoded value out or (if not present) decode encoded.
Trait Implementations§
source§impl<T> Clone for DoubleEncoded<T>
impl<T> Clone for DoubleEncoded<T>
source§impl<T> Debug for DoubleEncoded<T>
impl<T> Debug for DoubleEncoded<T>
source§impl<T> Decode for DoubleEncoded<T>
impl<T> Decode for DoubleEncoded<T>
source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>
Attempt to deserialise the value from input.
source§fn 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. Read more
source§impl<T> Encode for DoubleEncoded<T>
impl<T> Encode for DoubleEncoded<T>
source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )
Convert self to a slice and append it to the destination.
source§fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>(
&self,
f: __CodecUsingEncodedCallback
) -> __CodecOutputReturn
fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( &self, f: __CodecUsingEncodedCallback ) -> __CodecOutputReturn
Convert self to a slice and then invoke the given closure with it.
source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
source§impl<T> PartialEq for DoubleEncoded<T>
impl<T> PartialEq for DoubleEncoded<T>
source§impl<T> TypeInfo for DoubleEncoded<T>where
T: 'static,
impl<T> TypeInfo for DoubleEncoded<T>where
T: 'static,
impl<T> EncodeLike for DoubleEncoded<T>
impl<T> Eq for DoubleEncoded<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for DoubleEncoded<T>where
T: RefUnwindSafe,
impl<T> Send for DoubleEncoded<T>where
T: Send,
impl<T> Sync for DoubleEncoded<T>where
T: Sync,
impl<T> Unpin for DoubleEncoded<T>where
T: Unpin,
impl<T> UnwindSafe for DoubleEncoded<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T. Read more§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from.§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T.