Struct scale_info::Variant
source · [−]Expand description
A struct enum variant with either named (struct) or unnamed (tuple struct) fields.
Example
enum Operation {
Zero,
// ^^^^ this is a unit struct enum variant
Add(i32, i32),
// ^^^^^^^^^^^^^ this is a tuple-struct enum variant
Minus { source: i32 }
// ^^^^^^^^^^^^^^^^^^^^^ this is a struct enum variant
}
Implementations
Trait Implementations
sourceimpl<T: Form> Decode for Variant<T>where
T::String: Decode,
T::String: Decode,
Vec<Field<T>>: Decode,
Vec<Field<T>>: Decode,
Vec<T::String>: Decode,
Vec<T::String>: Decode,
impl<T: Form> Decode for Variant<T>where
T::String: Decode,
T::String: Decode,
Vec<Field<T>>: Decode,
Vec<Field<T>>: Decode,
Vec<T::String>: Decode,
Vec<T::String>: Decode,
sourcefn 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.
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. Read more
sourcefn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
sourceimpl<T: Form> Encode for Variant<T>where
T::String: Encode,
T::String: Encode,
Vec<Field<T>>: Encode,
Vec<Field<T>>: Encode,
Vec<T::String>: Encode,
Vec<T::String>: Encode,
impl<T: Form> Encode for Variant<T>where
T::String: Encode,
T::String: Encode,
Vec<Field<T>>: Encode,
Vec<Field<T>>: Encode,
Vec<T::String>: Encode,
Vec<T::String>: Encode,
sourcefn 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.
sourcefn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
sourcefn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
fn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
Convert self to an owned vector.
sourcefn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
sourcefn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
sourceimpl IntoPortable for Variant
impl IntoPortable for Variant
type Output = Variant<PortableForm>
type Output = Variant<PortableForm>
The portable version of Self
.
sourcefn into_portable(self, registry: &mut Registry) -> Self::Output
fn into_portable(self, registry: &mut Registry) -> Self::Output
Convert self
to the portable form by using the registry for caching.
sourceimpl<T: Ord + Form> Ord for Variant<T>where
T::String: Ord,
T::String: Ord,
impl<T: Ord + Form> Ord for Variant<T>where
T::String: Ord,
T::String: Ord,
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl<T: PartialEq + Form> PartialEq<Variant<T>> for Variant<T>where
T::String: PartialEq,
T::String: PartialEq,
impl<T: PartialEq + Form> PartialEq<Variant<T>> for Variant<T>where
T::String: PartialEq,
T::String: PartialEq,
sourceimpl<T: PartialOrd + Form> PartialOrd<Variant<T>> for Variant<T>where
T::String: PartialOrd,
T::String: PartialOrd,
impl<T: PartialOrd + Form> PartialOrd<Variant<T>> for Variant<T>where
T::String: PartialOrd,
T::String: PartialOrd,
sourcefn partial_cmp(&self, other: &Variant<T>) -> Option<Ordering>
fn partial_cmp(&self, other: &Variant<T>) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl<T: Form> EncodeLike<Variant<T>> for Variant<T>where
T::String: Encode,
T::String: Encode,
Vec<Field<T>>: Encode,
Vec<Field<T>>: Encode,
Vec<T::String>: Encode,
Vec<T::String>: Encode,
impl<T: Eq + Form> Eq for Variant<T>where
T::String: Eq,
T::String: Eq,
impl<T: Form> StructuralEq for Variant<T>
impl<T: Form> StructuralPartialEq for Variant<T>
Auto Trait Implementations
impl<T> RefUnwindSafe for Variant<T>where
<T as Form>::String: RefUnwindSafe,
<T as Form>::Type: RefUnwindSafe,
impl<T> Send for Variant<T>where
<T as Form>::String: Send,
<T as Form>::Type: Send,
impl<T> Sync for Variant<T>where
<T as Form>::String: Sync,
<T as Form>::Type: Sync,
impl<T> Unpin for Variant<T>where
<T as Form>::String: Unpin,
<T as Form>::Type: Unpin,
impl<T> UnwindSafe for Variant<T>where
<T as Form>::String: UnwindSafe,
<T as Form>::Type: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more