pub struct Variant<T: Form = MetaForm> {
pub name: T::String,
pub fields: Vec<Field<T>>,
pub index: u8,
pub docs: Vec<T::String>,
}
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
}
Fields§
§name: T::String
The name of the variant.
fields: Vec<Field<T>>
The fields of the variant.
index: u8
Index of the variant, used in parity-scale-codec
.
The value of this will be, in order of precedence:
1. The explicit index defined by a #[codec(index = N)]
attribute.
2. The implicit index from the position of the variant in the enum
definition.
docs: Vec<T::String>
Documentation
Implementations§
source§impl<T> Variant<T>where
T: Form,
impl<T> Variant<T>where
T: Form,
sourcepub fn name(&self) -> &T::String
👎Deprecated since 2.5.0: Prefer to access the fields directly; this getter will be removed in the next major version
pub fn name(&self) -> &T::String
Returns the name of the variant.
sourcepub fn fields(&self) -> &[Field<T>]
👎Deprecated since 2.5.0: Prefer to access the fields directly; this getter will be removed in the next major version
pub fn fields(&self) -> &[Field<T>]
Returns the fields of the struct variant.
Trait Implementations§
source§impl<T: Form> Decode for Variant<T>
impl<T: Form> Decode for Variant<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: Form> Encode for Variant<T>
impl<T: Form> Encode for Variant<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<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
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 IntoPortable for Variant
impl IntoPortable for Variant
source§type Output = Variant<PortableForm>
type Output = Variant<PortableForm>
The portable version of
Self
.source§fn 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.source§impl<T: Ord + Form> Ord for Variant<T>
impl<T: Ord + Form> Ord for Variant<T>
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl<T: PartialOrd + Form> PartialOrd for Variant<T>where
T::String: PartialOrd,
impl<T: PartialOrd + Form> PartialOrd for Variant<T>where
T::String: PartialOrd,
impl<T: Form> EncodeLike for Variant<T>
impl<T: Eq + Form> Eq for Variant<T>
impl<T: Form> StructuralPartialEq for Variant<T>
Auto Trait Implementations§
impl<T> Freeze for Variant<T>
impl<T> RefUnwindSafe for Variant<T>
impl<T> Send for Variant<T>
impl<T> Sync for Variant<T>
impl<T> Unpin for Variant<T>
impl<T> UnwindSafe for Variant<T>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)