Trait Enum

Source
pub trait Enum: Reflect {
    // Required methods
    fn variant_name(&self) -> &str;
    fn variant_kind(&self) -> VariantKind;
    fn field(&self, name: &str) -> Option<&dyn Reflect>;
    fn field_mut(&mut self, name: &str) -> Option<&mut dyn Reflect>;
    fn field_at(&self, index: usize) -> Option<&dyn Reflect>;
    fn name_at(&self, index: usize) -> Option<&str>;
    fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn Reflect>;
    fn fields(&self) -> VariantFieldIter<'_> ;
    fn fields_mut(&mut self) -> VariantFieldIterMut<'_> ;
    fn variants_len(&self) -> usize;
    fn fields_len(&self) -> usize;
}
Expand description

A reflected enum type.

Will be implemented by #[derive(Reflect)] on enums.

Required Methods§

Source

fn variant_name(&self) -> &str

Source

fn variant_kind(&self) -> VariantKind

Source

fn field(&self, name: &str) -> Option<&dyn Reflect>

Source

fn field_mut(&mut self, name: &str) -> Option<&mut dyn Reflect>

Source

fn field_at(&self, index: usize) -> Option<&dyn Reflect>

Source

fn name_at(&self, index: usize) -> Option<&str>

Source

fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn Reflect>

Source

fn fields(&self) -> VariantFieldIter<'_>

Source

fn fields_mut(&mut self) -> VariantFieldIterMut<'_>

Source

fn variants_len(&self) -> usize

Source

fn fields_len(&self) -> usize

Trait Implementations§

Source§

impl Debug for dyn Enum

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Implementations on Foreign Types§

Source§

impl Enum for Infallible

Source§

fn variant_name(&self) -> &str

Source§

fn variant_kind(&self) -> VariantKind

Source§

fn field(&self, _name: &str) -> Option<&dyn Reflect>

Source§

fn field_mut(&mut self, _name: &str) -> Option<&mut dyn Reflect>

Source§

fn field_at(&self, _index: usize) -> Option<&dyn Reflect>

Source§

fn field_at_mut(&mut self, _index: usize) -> Option<&mut dyn Reflect>

Source§

fn fields(&self) -> VariantFieldIter<'_>

Source§

fn fields_mut(&mut self) -> VariantFieldIterMut<'_>

Source§

fn variants_len(&self) -> usize

Source§

fn fields_len(&self) -> usize

Source§

fn name_at(&self, _index: usize) -> Option<&str>

Source§

impl<T> Enum for Option<T>

Source§

fn variant_name(&self) -> &str

Source§

fn variant_kind(&self) -> VariantKind

Source§

fn field(&self, name: &str) -> Option<&dyn Reflect>

Source§

fn field_mut(&mut self, name: &str) -> Option<&mut dyn Reflect>

Source§

fn field_at(&self, index: usize) -> Option<&dyn Reflect>

Source§

fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn Reflect>

Source§

fn fields(&self) -> VariantFieldIter<'_>

Source§

fn fields_mut(&mut self) -> VariantFieldIterMut<'_>

Source§

fn variants_len(&self) -> usize

Source§

fn fields_len(&self) -> usize

Source§

fn name_at(&self, index: usize) -> Option<&str>

Source§

impl<T, E> Enum for Result<T, E>

Source§

fn variant_name(&self) -> &str

Source§

fn variant_kind(&self) -> VariantKind

Source§

fn field(&self, name: &str) -> Option<&dyn Reflect>

Source§

fn field_mut(&mut self, name: &str) -> Option<&mut dyn Reflect>

Source§

fn field_at(&self, index: usize) -> Option<&dyn Reflect>

Source§

fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn Reflect>

Source§

fn fields(&self) -> VariantFieldIter<'_>

Source§

fn fields_mut(&mut self) -> VariantFieldIterMut<'_>

Source§

fn variants_len(&self) -> usize

Source§

fn fields_len(&self) -> usize

Source§

fn name_at(&self, index: usize) -> Option<&str>

Implementors§