Struct substrate_abi::ValueMorphism
source · pub struct ValueMorphism<T, O> {
pub to_morph: T,
pub output: PhantomData<O>,
}Expand description
A representation of a morphism from T to O. This provides some metadata so we can have a single blanket implementation of some T to Some O where Self has some way of converting the morphism.
Fields§
§to_morph: T§output: PhantomData<O>Implementations§
source§impl<T, O> ValueMorphism<T, O>
impl<T, O> ValueMorphism<T, O>
Trait Implementations§
source§impl<T, O> From<T> for ValueMorphism<T, O>
impl<T, O> From<T> for ValueMorphism<T, O>
source§impl<O> TryConvert<ValueMorphism<&mut &[u8], O>> for SubstrateAbiConverterwhere
SubstrateAbiConverter: Convert<u32, O> + Convert<u64, O> + Convert<u128, O> + Convert<U256, O>,
impl<O> TryConvert<ValueMorphism<&mut &[u8], O>> for SubstrateAbiConverterwhere SubstrateAbiConverter: Convert<u32, O> + Convert<u64, O> + Convert<u128, O> + Convert<U256, O>,
Morph some bytes into O as long as O can be converted into.
source§fn try_convert(a: ValueMorphism<&mut &[u8], O>) -> Self::Outcome
fn try_convert(a: ValueMorphism<&mut &[u8], O>) -> Self::Outcome
Make conversion.
source§impl<O> TryConvert<ValueMorphism<&mut &[u8], Option<O>>> for SubstrateAbiConverterwhere
SubstrateAbiConverter: Convert<u32, O> + Convert<u64, O> + Convert<u128, O> + Convert<U256, O>,
impl<O> TryConvert<ValueMorphism<&mut &[u8], Option<O>>> for SubstrateAbiConverterwhere SubstrateAbiConverter: Convert<u32, O> + Convert<u64, O> + Convert<u128, O> + Convert<U256, O>,
Morph some bytes into Option<O> as long as O can be converted into, and the bytes representation
of Some<O> exists.
Auto Trait Implementations§
impl<T, O> RefUnwindSafe for ValueMorphism<T, O>where O: RefUnwindSafe, T: RefUnwindSafe,
impl<T, O> Send for ValueMorphism<T, O>where O: Send, T: Send,
impl<T, O> Sync for ValueMorphism<T, O>where O: Sync, T: Sync,
impl<T, O> Unpin for ValueMorphism<T, O>where O: Unpin, T: Unpin,
impl<T, O> UnwindSafe for ValueMorphism<T, O>where O: UnwindSafe, T: UnwindSafe,
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
§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 moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from.§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T.